我有一个字符串列表存储在TStringList中,我想把它转换成用逗号分隔的字符串,我使用以下代码:
channelList: TStringList;
aCurrentChannel := Stringreplace(channelList.Text,Char(13)+Char(10),',',[rfReplaceAll]);
但是最后一个字符出现了 , ,比如 1,2,有没有什么方法可以避免这种情况?
我有一个字符串列表存储在TStringList中,我想把它转换成用逗号分隔的字符串,我使用以下代码:
channelList: TStringList;
aCurrentChannel := Stringreplace(channelList.Text,Char(13)+Char(10),',',[rfReplaceAll]);
但是最后一个字符出现了 , ,比如 1,2,有没有什么方法可以避免这种情况?
TStringList
类的DelimitedText属性。根据在线帮助:使用DelimitedText将TStrings对象中的所有字符串作为单个字符串获取或设置,这些字符串由Delimiter属性指定的字符分隔。
使用DelimitedText
属性:
channelList.Delimiter := ',';
channelList.QuoteChar := ''; // or
channelList.QuoteChar := #0; // for higher delphi versions
aCurrentChannel := channelList.DelimitedText;
channelList.QuoteChar := '';
不再起作用了,而 channelList.QuoteChar := #0;
- 它正在工作。 - Roman MarusykQuoteChar:= '';
这取决于Unicode吗? - Roman Marusyk如果您正在使用字符串列表,我建议您查看http://wiki.delphi-jedi.org/wiki/JCL_Help:IJclStringList。
// var channelList: iJclStringList;
var s: string;
s := JclStringList.Add(['aaa','bbb','ccc '])
.Split('ddd: eee', ':', False).Trim.Join(',');
CommaText
属性,但使用Trim()
应该可以修复您的原始解决方案,即StringReplace(Trim(sl.Text), ...)
。 - ain