救命啊.........(100分)

  • 主题发起人 主题发起人 tiger_520
  • 开始时间 开始时间
T

tiger_520

Unregistered / Unconfirmed
GUEST, unregistred user!
有这么一个字符串,在access数据库中显示内容为:<br>{Type=0~Id= 153~Name=胆囊长径~Text=胆囊长径~Unit=mm~Value=52} ,{Type=0~Id= 154~Name=胆囊前后径~Text=前后径~Unit=mm~Value=18} ,{Type=0~Id= 71~Name=胆囊壁厚~Text=胆囊壁厚~Unit=mm~Value=7}。胆囊大小、形态正常,胆囊壁不光滑,胆囊腔内可见多个强回声光团,{Type=0~Id= 566~Name=最大~Text=最大~Unit=mm~Value=6*6},后伴声影,可移动。<br>现将access数据库内容转化到sql server数据库,显示内容为:<br>胆囊长径52mm,胆囊前后径18mm,胆囊壁厚7mm.胆囊大小、形态正常,胆囊壁不光滑,胆囊腔内可见多个强回声光团,最大6*6mm,后伴声影,可移动。<br>这个该死的内容该如何解析啊.代码部分该如何解决.急(三根鸡毛!!!)
 
应该很容易呀,可以看出{}是对象起止符,‘,’是项目分隔符,~是属性分隔符,写一段解析代码,提取你要的信息不就行了
 
该如何写这段代码啊.
 
给你写个函数吧!没测试过。<br>Function texttostr(var s:string):string;<br>var<br>&nbsp; n,i,j:integer;<br>begin<br>&nbsp; n:=length(s);<br>&nbsp; i:=pos('{',s);<br>&nbsp; j:=pos('}',s);<br>&nbsp; if (n&gt;i)and(i&gt;0)and(j&gt;0) then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; s:=trim(delete(s,i,j-i+2));<br>&nbsp; &nbsp; &nbsp; texttostr(s);<br>&nbsp; &nbsp; end<br>&nbsp; else<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; if (n&gt;0)and(i=0)and(j=0) then<br>&nbsp; &nbsp; &nbsp; &nbsp; result:=trim(s);<br>&nbsp; &nbsp; end;<br>end;<br>
 
思路同上,自己试试!
 
比较麻烦.上头的做法.有没有方便的方法?
 
何况delete要删除的长度难以确定.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
1K
import
I
后退
顶部