我不知道如何使用 UNIX 行尾 (LF) 而不是默认的 CRLF 来保存 TStringList 的行。
我尝试在 stringList.Text 属性上使用 StringReplace() 但没有成功:-(
我不知道如何使用 UNIX 行尾 (LF) 而不是默认的 CRLF 来保存 TStringList 的行。
我尝试在 stringList.Text 属性上使用 StringReplace() 但没有成功:-(
StringList.Text 是每次生成文本的属性。因此,当您将修改后的文本分配回字符串列表时,您将撤消所做的更改。当您再次获取文本时,字符串列表将使用其默认换行符构建一个新字符串。
这个字符可以通过设置字符串列表的LineBreak
属性来影响。的默认值LineBreak
是sLineBreak
常量,它可以#13#10
在 Windows #10
、Linux 或#13
Mac 上。
否则,如果将 StringList.Text 保存在字符串变量中,则可以使用StringReplace
来更改该字符串,或者更好的是,使用AdjustLineBreaks
.
另一种可能性是在其字符串列表版本中使用具有拆分/连接功能的绝地代码库 ( http://jcl.sf.net )。
var so : TJclStringList; // PODO style, requires finally-free-end
si : iJclStringList; // ref-counted interface for method chaining (aka Fluent API style)
s : String;
...
s := so.Join(^J);
s := si.Join(^J);