web-dev-qa-db-ja.com

TStringlistを区切り文字を使用して文字列に変換する

TStringListに格納されている文字列のリストがあり、コンマで区切られた文字列に変換したいので、次のコードを使用します

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

しかし、最後の文字は、1,2のように来ていますが、それを回避する方法はありますか?

12
Jeeva

TStringListクラスの DelimitedText プロパティを使用する必要があります。オンラインヘルプから

DelimitedTextを使用して、TStringsオブジェクト内のすべての文字列を、Delimiterプロパティで指定された文字で区切って単一の文字列で取得または設定します。

18
RBA

DelimitedTextプロパティを使用します。

channelList.Delimiter := ',';
channelList.QuoteChar := ''; // or
channelList.QuoteChar := #0; // for higher delphi versions
aCurrentChannel := channelList.DelimitedText;
15
whosrdaddy

文字列リストに興味がある間は、 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(',');
1
Arioch 'The