Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > значения из строки


Автор: MoLeX 24.4.2009, 07:44
Привет.
Есть строка
Код

AnsiString str = "-raznayinfalogin{login user'a}textpass{password}data";


мне на выходе надо получить
Код

AnsiString login = "login user'a";
AnsiString pass = "password";


похоже что тут нужна регулярка  smile 

Автор: chaos 24.4.2009, 07:57
MoLeX, или регулярка или ручной поиск smile

Автор: mrbrooks 24.4.2009, 08:01
Можно так:

Код

#include <memory>

String str = "-raznayinfalogin{login user'a}textpass{password}data";
str = StringReplace(str,"{","\n",TReplaceFlags() <<rfReplaceAll);
str = StringReplace(str,"}","\n",TReplaceFlags() <<rfReplaceAll);
std::auto_ptr<TStringList>s(new TStringList());
s->Text = str;
ShowMessage(s->Strings[1] + '\n' + s->Strings[3]);

Автор: MoLeX 24.4.2009, 08:03
Цитата(mrbrooks @  24.4.2009,  08:01 Найти цитируемый пост)
std::auto_ptr<TStringList>s(new TStringList());

на эту строку заругалься

Добавлено через 41 секунду
у меня все еще c++ builder 6

Автор: mrbrooks 24.4.2009, 08:10
Цитата(MoLeX @  24.4.2009,  08:03 Найти цитируемый пост)
на эту строку заругалься

я для кого написал вот это:

Код

#include <memory>


 smile 

Автор: MoLeX 24.4.2009, 08:12
mrbrooks, сорри слепота поганная))) не увидел...

Добавлено через 21 секунду
mrbrooks, +1 за решение

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)