我有字符串'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吐出?

最佳答案

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

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

10-04 20:11