[update]Delphi分割字符串的函数 ExtractStrings
ExtractStrings Routine
Unit
Syntax
[Delphi] function ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PAnsiChar; Strings: TStrings): Integer;
Description|
Note: |
ExtractStrings does not add empty strings to the list. |
Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。
写个例子吧:
比如
ABC|... DEF|#### GHI|"不会被分开|# www.farproc.com"
要得到
ABC四个子串可以用下面的代码:
DEF
GHI
不会被分开|# www.farproc.com
uses
Classes;
var
ASource: PChar;
AStr: String;
ACount: Integer;
AStrings: TStringList;
begin
ASource := 'ABC|... DEF|#### GHI|"不会被分开|# www.farproc.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.
浙公网安备 33010602011771号