dephiä¸æ²¡æ象VBä¸çsplitå½æ°,ä½æ¯ä½¿ç¨TStringListç±»ç Delimter å DelimtedText 两个å±æ§å¯ä»¥å¾å®¹æçæå符串åå²,ç¶åæ¾å
¥ TStringséé¢.
ä¾:
s:='aa,bb,cc,dd'
ts := TStringList.Create
ts.Delimter := ','
ts.DelimtedText := s
//è¿æ¶ tséé¢å°±åæ¾äº aa bb cc dd è¿å个stringsäº. ä½ åªè¦éè¿ ts[0]å°±å¯ä»¥å第ä¸ä¸ªæ°æ®
function SplitString(Source, Deli: string ): TStringList;stdcall;
var
EndOfCurrentString: byte;
StringList:TStringList;
begin
StringList:=TStringList.Create;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
Result := StringList;
StringList.Add(source);
end;
procedure StrToStrs(str:string;strs:tstrings);
var temp:string;
i:integer;
label B,E;
begin
B:
i:= ansipos('|',str);
if i=0 THEN GOTO E;
strs.Add(ansileftstr(str,i-1));
str:=ansirightstr(str,length(str)-i);
GOTO B;
E:
end;
温馨提示:答案为网友推荐,仅供参考