15

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

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

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

4

3 に答える 3

21

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

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

于 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 に答える