我有字符串'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;