有一字符串 'a1|a2|a3|a4' 怎样分别取得a1,a2等?
解决方案 »
- 如何设置登陆用户权限
- 组件开发的问题研究,很基础但也很重要
- 100分求一个简单问题,关于打开文件,在线等,帮顶者有分,不论有没有结果,一周内结贴。
- 要由别的程序启动,并且传递参数,但要是 .exe文件,这种程序 如何做??
- 谁能告诉我这个软件用的什么组件,http://www.rolesoft.com/chinese/softwebbee.htm,拜谢!
- 郁闷,delphi搞什么???
- RAve 報表detail 區只打印10條記錄
- 急!!人事管理数据库的设计问题!!在线等!!
- 请求帮助!
- 向腾讯的那个多页面浏览器打开一个网页,然后一个页面的名字就是当前的网页的标题是如何实现的啊!
- 打包程序的问题
- 哪位大侠有压缩解压算法的源代码,可以压缩整个目录,按目录解压
var i,k:integer;s1:string;
begin
for i:=1 to n do
begin
k:=pos('|',s);
s1:=copy(s,1,k-1);
delete(s,1,k);
end;
result:=s1;
end;
var i,k:integer;s1:string;
begin
for i:=1 to length(s) do
begin
k:=pos('|',s);
s1:=copy(s,k,2);
end;
result:=s1;
end;
'a1|a2|a3|a4|...a15|' 这样呢?
typeTResultArray = array of string;function SplitString(const source, ch: string): TResultArray;vartemp: string;i: integer;begintemp := source;i := pos(ch, source);while i <> 0 dobeginSetLength(Result, Length(Result) + 1);Result[Length(Result) - 1] := copy(temp, 0, i - 1);delete(temp, 1, i);i := pos(ch, temp);end;SetLength(Result, Length(Result) + 1);Result[Length(Result)-1] := Temp;end;**************function SplitString(const source,ch:string):tstringlist;vartemp:string;i:integer;beginresult:=tstringlist.Create;temp:=source;i:=pos(ch,source);while i<>0 dobeginresult.Add(copy(temp,0,i-1));delete(temp,1,i);i:=pos(ch,temp);end;result.Add(temp);end;调用:s:=splitstring('afsdfsdaaa|bbfdsfsdb|ccc','|');for i:=0 to s.Count-1 dob:=b+s.Strings[i]+#13;showmessage(b);s.free;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;procedure TForm1.Button1Click(Sender: TObject);
var
s:Tstrings;
i:integer;
b:string;
begin
s := Tstrings.Create;
s:=splitstring('afsdfsdaaa|bbfdsfsdb|ccc||dddd','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
end;上面自定义函数,下面是测试,应该能满足你的要求
procedure SpliteStr;
var
str1: string;
SL: TStringlist;
begin
str1 := 'a1|a2|a3|a4';
SL := TStringlist.Create;
try
SL.text := StringReplace(str1, '|', #13,[rfReplaceAll, rfIgnoreCase]);
ShowMessage('a1=' + SL[0]);
ShowMessage('a2=' + SL[1]);
finally
end;
end;