关于取字符的问题.高手的来看(100分)

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

tiger_520

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有=XXXX~类型的字符串,其中xxxx为不确定的,可能是=1234~,也可能是=我爱你~,我现在想把xxxx中的内容取出来,该如何做呢?各位高手赐教.
 
copy(str,1,length(str)-1)
 
copy(str,1,pos('~',str)-1)
 
zz:='=1234~',
zz1:=copy(zz,2,length(zz)-1)
 
楼上的行
 
str:=copy(str,pos('=',str)+1,pos('~',str)-pos('=',str)-1);
 
问题在于它前边不是只有一个符号"=",可能是~abc=XXXX~,我想取XXXX
 
uses StrUtils
str:=LeftStr(str,length(str)-1);
 
对于~abc=XXXX~,可以如下,其它的情况依此类推
uses StrUtils
str:=LeftStr(str,length(str)-1)

str:=RightStr(str,4)

 
多個都可以取
放到tstringlist中。
用stringlist.valuefromindex就可以取出來,i循環一下,可以取出n多個。
'name1=value1;name2=value2;name3=value3'這種東西。循環下可連取3 個。
 
leftstr(str,length(str)-1)

or

copy(str,pos('=',str)+1,length(str)-pos('=',str)-1)
 
用copy就行了!
上面都说答案了!
 
copy可以啦
 
多人接受答案了。
 
1.先定位‘=’号的位置。
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
str2,str:string;
begin
str:='aaa=rtttt';
i:=pos('=',str)
//定位‘=’号位置
str2:=copy(str,i+1,length(str)-i);//取子串
end;

上面的例子中 str2='tttt'
 
这样就可以了对任何情况了(只要其中含有'='):
copy(str,pos('=',str)+1,length(str)-pos('=',str)-1)
 
除了=和~外,总有分隔符,分隔多个字符串的吧,先一个个分出来,再向楼上那样细分就行
 
后退
顶部