|
Тема
|
Парсване на стринг
|
|
Автор |
Beco_ (Boogie chillun) |
Публикувано | 05.12.07 18:44 |
|
Днес ми се наложи да пиша код, който парсва (разделя на думи) стринг с интервали - например, вх. стринг "Аз съм тъпо копеле", който да запише резултата в StringList:
-Аз
-съм
-тъпо
-копеле
Оставих празно място в сорса и се замислих, дали нямаше ф-я, която да прави това в VCL, без да използвам др. библиотеки. Не е проблем да напиша няколко реда код, но все си мисля, че имаше подобна ф-я, която при първо търсене не открих.
... for a brief moment it seemed that rock 'n roll would inherit the earth.
| |
Тема
|
Re: Парсване на стринг
[re: Beco_]
|
|
Автор |
NikB (любопитен) |
Публикувано | 06.12.07 09:15 |
|
tStrings.CommaText прави обратното :)
Впрочем, "tStrings".Text := StringReplace( xText, ' ', #13#10, [rfReplaceAll]);
e "бабешкото" решение.
Редактирано от NikB на 06.12.07 09:16.
| |
Тема
|
Re: Парсване на стринг
[re: NikB]
|
|
Автор |
Formal (незнаещ) |
Публикувано | 06.12.07 19:25 |
|
А, 'що обратното - и правото също става:
memo1.lines.Delimiter := ' ';
// ако е необходимо: memo1.lines.QuoteChar := '"';
memo1.lines.DelimitedText := 'ej-taka triabva da stava, a pak tova e "edna duma"';
| |
Тема
|
Re: Парсване на стринг
[re: Formal]
|
|
Автор | NikB (Нерегистриран) |
Публикувано | 06.12.07 19:32 |
|
Да, не се сетих за тая хватка, но я подозирах :)
| |
Тема
|
Re: Парсване на стринг
[re: NikB]
|
|
Автор |
Beco_ (Boogie chillun) |
Публикувано | 07.12.07 18:16 |
|
Благодаря и на двамата! Знаех си, че има нещо подобно.
TStringList *sl = new TStringList();
sl->Text = StringReplace(Edit1->Text," ","\n",TReplaceFlags()<< rfReplaceAll);
... for a brief moment it seemed that rock 'n roll would inherit the earth.
| |
Тема
|
Re: Парсване на стринг
[re: Beco_]
|
|
Автор |
killall (Дядо Мраз) |
Публикувано | 13.12.07 11:41 |
|
Можеш и ExtractStrings да ползваш
Time is like a drug, too much of it kills you
| |
|
|
|
|