您的当前位置:首页正文

delphi的Split函数 3个版本

2024-08-03 来源:星星旅游
Delphi的Split函数

一、直接使用如下函数(注:ch只能是单字符,如键盘上英文状态下的字符) function SplitString(const Source,ch:String):TStringList; var

temp:String; i:Integer; begin

Result:=TStringList.Create;

//如果是空自符串则返回空列表 if Source='' then exit; 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;

二、直接使用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-chLength+1)); Delete(Temp,1,I-1 + chLength); I:=pos(ch,Temp); end;

Result.add(Temp); end

因篇幅问题不能全部显示,请点此查看更多更全内容