Delphi字符串分割函数 ExtractStrings
提示:这里可以添加技术概要
核心源码
提示:这里可以添加技术整体架构
procedure TForm1.Button1Click(Sender: TObject);
var
sdata :TStrings;
text :string;
begin
text := ‘TXT|EXE|COM’;
sdata := TStringList.Create;
ExtractStrings([‘|’],[],Pchar(text),sdata);
showmessage(sdata[0]); //显示TXT
end;
Unit
Classes
Syntax
ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PAnsiChar; Strings: TStrings): Integer;
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了对Strings进行Create哦。
另外,EctractStrings不会把空串放入Strings中去。
举个例子吧:
如果我想分割以下字符串: ABC|… DEF|#### GHI|"中华网URL
希望得到下面四个字符串:
1、ABC
2、DEF
3、GHI
4、中华网URL
那么可以用下面的代码:
uses Classes;
var
ASource: PChar;
AStr: String;
ACount: Integer;
AStrings: TStringList;
begin
ASource := ‘ABC|… DEF|#### GHI|"中华网URL’;
AStrings := TStringList.Create;
try
ACount := ExtractStrings([‘|’], [’ ‘,’#‘,’.'], ASource, AStrings);
//…
finally
AStrings.Free;
end;
end.