Преобразование TStringlist в строку с делителем
У меня есть список строк, хранящихся в TStringList, я хочу преобразовать его в строку, разделенную запятыми, и я использую следующий код
channelList: TStringList;
aCurrentChannel := Stringreplace(channelList.Text,Char(13)+Char(10),',',[rfReplaceAll]);
но последний символ подходит как, например, 1,2, все равно избежать этого?
Ответы
Ответ 1
Вам нужно использовать свойство DelimitedText класса TStringList
. Из онлайн-справки
Используйте DelimitedText, чтобы получить или установить все строки в объекте TStrings в одной строке, разделенные символом, заданным свойством Delimiter.
Ответ 2
используйте свойство DelimitedText
:
channelList.Delimiter := ',';
channelList.QuoteChar := ''; // or
channelList.QuoteChar := #0; // for higher delphi versions
aCurrentChannel := channelList.DelimitedText;
Ответ 3
Пока вы находитесь в строковых списках, я предлагаю вам взглянуть на 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(',');