delphi - 使用 TStrings 分割字符串,省略 CRLF 分隔符

标签 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 的影响?

最佳答案

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

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

关于delphi - 使用 TStrings 分割字符串,省略 CRLF 分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286256/

相关文章:

delphi - 如何重写委托(delegate)方法的实现?

delphi - 传递序数参数

delphi - D2007 中的指针算术如何使其工作?

delphi - 使用 OnDrawItem 事件时 TListview 未正确绘制

delphi - 如何在 TPanel 上绘图

delphi - indy GET 下载速度

delphi - "enable runtime themes"会影响性能吗?

Delphi SampleProfiler : How is this code calling into ntdll. dll?

delphi - 图像裁剪组件

delphi - 如何以简单安全的方式扩展 TFieldDef?