Delphi分割字符串的函数--ExtractStrings
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|# www.china.com"希望得到下面四个字符串:
1、ABC
2、DEF
3、GHI
4、中华网URL|# www.china.com
那么可以用下面的代码:
uses
Classes;
var
ASource: PChar;
AStr: String;
ACount: Integer;
AStrings: TStringList;
begin
ASource := 'ABC|... DEF|#### GHI|"中华网URL|# www.china.com"';
AStrings := TStringList.Create;
try
ACount := ExtractStrings(['|'], [' ','#','.'], ASource, AStrings);
{do any further processing}
//for AStr in AStrings do
// Writeln(AStr);
finally
AStrings.Free;
end;
Readln;
end.