使用TStrings拆分字符串,省略CRLF分隔符

时间:2014-06-18 12:59:15

标签: delphi delphi-2007

我有字符串'AAA'+#$0d+#$0a+'BBB'+#$01d+'CCC'。我需要根据#$ 1d字符拆分,如:

'AAA'+#$0d+#$0a+'BBB'
'CCC'

我正在使用功能:

procedure Split(Delimiter: Char; Str: string; ListOfStrings: TStrings) ;
begin
   ListOfStrings.Clear;
   ListOfStrings.Delimiter     := Delimiter;
   ListOfStrings.DelimitedText := Str;
   ListOfStrings.StrictDelimiter:= true;
end;
...
split(#$1d,'AAA'+#$0d+#$0a+'BBB'+#$01d+'CCC',sl);

不幸的是,它根据CRLF分裂,我不需要。

如何让字符串仅由#$ 1d激活?

1 个答案:

答案 0 :(得分:5)

在设置属性DelimitedText之前,您必须设置ListOfStrings.StrictDelimiter:= true;

   ListOfStrings.StrictDelimiter:= true;
   ListOfStrings.DelimitedText := Str;