一、单字符
function split(s,s1:string):TStringList; begin Result:=TStringList.Create; while Pos(s1,s)>0 do begin Result.Add(Copy(s,1,Pos(s1,s)-1)); Delete(s,1,Pos(s1,s)); end; Result.Add(s); end;
二、直接使用TStringList
procedure TForm1.Button3Click(Sender: TObject); var Str:String; ResultList:TStringList; I:Integer; begin str:= '南京~信息~工程~大学';
ResultList := TStringList.Create; try ResultList.Delimiter := '~'; ResultList.DelimitedText := str;
for I:= 0 to ResultList.Count-1 do begin Memo1.Lines.Add(ResultList.Strings[I]); end; finally FreeAndNil(ResultList); end; end;
三、支持特殊字符版(ch可以为字符串,如'aa')
function SplitString(const Source,ch:String):TStringList; var Temp:String; I:Integer; chLength:Integer; begin Result:=TStringList.Create; //如果是空自符串则返回空列表 if Source='' then Exit; Temp:=Source; I:=Pos(ch,Source); chLength := Length(ch); while I<>0 do begin Result.Add(Copy(Temp,0,I-1)); Delete(Temp,1,I-1 + chLength); I:=pos(ch,Temp); end; Result.add(Temp); end;
|
请发表评论