15

我有一个存储在 TStringList 中的字符串列表,我想将其转换为用逗号分隔的字符串,我使用以下代码

channelList: TStringList;
aCurrentChannel :=  Stringreplace(channelList.Text,Char(13)+Char(10),',',[rfReplaceAll]);

但是最后一个字符来了,就像 1,2 一样,有没有办法避免这种情况?

4

3 回答 3

21

您需要使用该类的DelimitedText属性TStringList。从在线帮助

使用 DelimitedText 获取或设置单个字符串中的 TStrings 对象中的所有字符串,由 Delimiter 属性指定的字符分隔。

于 2013-07-16T08:09:13.677 回答
17

使用DelimitedText属性:

channelList.Delimiter := ',';
channelList.QuoteChar := ''; // or
channelList.QuoteChar := #0; // for higher delphi versions
aCurrentChannel := channelList.DelimitedText;
于 2013-07-16T08:09:20.620 回答
1

当您进入字符串列表时,我建议您查看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(',');
于 2013-07-16T09:39:31.810 回答