Delphi分割字符串的函数ExtractStrings,分割的同时还可以去空字符串和去空白(可以自定义).
Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。
end.
Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。
写个例子吧:
比如
ABC|... DEF|#### GHI|"不会被分开|#"
要得到
ABC
DEF
GHI
不会被分开|#
四个子串可以用下面的代码:
uses
Classes;
var
ASource: PChar;
AStr: String;
ACount: Integer;
AStrings: TStringList;
begin
ASource := ''ABC|... DEF|#### GHI|"不会被分开|#;
AStrings := TStringList.Create;
try
ACount := ExtractStrings([''|''], ['' '', ''#'', ''.''], ASource, AStrings);
{do any further processing}
/for AStr in AStrings do
// Writeln(AStr);
finally
AStrings.Free;
end;
end.