Re[3]: как извлечь подстроки до запятой
От: Softwarer http://softwarer.ru
Дата: 07.03.05 19:56
Оценка: +1
Здравствуйте, eiiaeiie, Вы писали:

ListBox.Items.CommaText := 'a,b,c,d,e' ;
как извлечь подстроки до запятой
От: eiiaeiie  
Дата: 07.03.05 19:35
Оценка:
дурацкий вопрос, но всё же

есть строка "askkesww2, 123, js7dy3g"
как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось:
askkesww2
123
js7dy3g
Re: как извлечь подстроки до запятой
От: Softwarer http://softwarer.ru
Дата: 07.03.05 19:38
Оценка:
Здравствуйте, eiiaeiie, Вы писали:

TStrings.CommaText
Re[2]: как извлечь подстроки до запятой
От: eiiaeiie  
Дата: 07.03.05 19:46
Оценка:
Здравствуйте, Softwarer, Вы писали:

S>Здравствуйте, eiiaeiie, Вы писали:


S>TStrings.CommaText


объясните на пальцах пожалуйста

у меня, например, есть AnsyString str;
а дальше как?
Re: как извлечь подстроки до запятой
От: kvl_mikki Россия  
Дата: 08.03.05 20:51
Оценка:
Здравствуйте, eiiaeiie, Вы писали:

E>дурацкий вопрос, но всё же


E>есть строка "askkesww2, 123, js7dy3g"

E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось:
E>askkesww2
E>123
E>js7dy3g

можно использовать такой вот парсерчик:
http://www.infotecstt.ru/~karat
... << RSDN@Home 1.1.0 stable >>
Re: как извлечь подстроки до запятой
От: Vodyamba Россия  
Дата: 10.03.05 01:27
Оценка:
Здравствуйте, eiiaeiie, Вы писали:

E>дурацкий вопрос, но всё же


E>есть строка "askkesww2, 123, js7dy3g"

E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось:
E>askkesww2
E>123
E>js7dy3g

А вообще перебором


for i:=0 to length(s) do
  Begin
   перебираешь по одной буковке и сохраняешь во временную переменную 
     проверяешь есть ли там запятая, как только появилась добавляешь её в Listbox и обнуляешь...
    end;
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[2]: как извлечь подстроки до запятой
От: Spaider Верблюд  
Дата: 11.03.05 08:38
Оценка:
Здравствуйте, Softwarer, Вы писали:

S>TStrings.CommaText


Ну, или наиболее общий случай:

Procedure ExtractWords (Const Str : String; Delims : TCharSet; Var StrList : TStringList);
// Each StrList object represent word position inside string
Var
  i, j, SLen : Integer;
Begin
  i:=1;
  SLen:=Length(Str);
  while i<=SLen do
  begin
    while (i<=SLen) and (Str[i] in Delims) do Inc(i);
    j := i;
    while (i<=SLen) and (not (Str[i] in Delims)) do Inc(i);
    if i-j>0 then StrList.AddObject(System.Copy(Str, j, i-j), Pointer(j));
  End;
End;
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
--
К вашим услугам,
Re[3]: как извлечь подстроки до запятой
От: Softwarer http://softwarer.ru
Дата: 11.03.05 10:15
Оценка:
Здравствуйте, Spaider, Вы писали:

S>Procedure ExtractWords (Const Str : String; Delims : TCharSet; Var StrList : TStringList);


Я бы заменил на const StrList : TStrings.
Re[4]: как извлечь подстроки до запятой
От: Spaider Верблюд  
Дата: 11.03.05 10:23
Оценка:
Здравствуйте, Softwarer, Вы писали:

S>Здравствуйте, Spaider, Вы писали:


S>>Procedure ExtractWords (Const Str : String; Delims : TCharSet; Var StrList : TStringList);


S>Я бы заменил на const StrList : TStrings.


Согласен. Функцию выдрал из готового проекта, мне там так было удобней.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
--
К вашим услугам,
Re: как извлечь подстроки до запятой
От: Sergey__ Россия  
Дата: 14.03.05 14:17
Оценка:
Здравствуйте, eiiaeiie, Вы писали:
E>есть строка "askkesww2, 123, js7dy3g"

в случае твоего QuoteChar конечно самое эффект.
Re[3]: как извлечь подстроки до запятой
Автор: Softwarer
Дата: 07.03.05


а есть интересные функции для парсинга в библиотеках QStrings и RegExpr
Sergey
Re[5]: как извлечь подстроки до запятой
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.03.05 08:19
Оценка:
Здравствуйте, Spaider, Вы писали:
S>Согласен. Функцию выдрал из готового проекта, мне там так было удобней.
Лучше сразу внести это изменение и в готовый проект Это облегчит последующее сопровождение.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: как извлечь подстроки до запятой
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 15.03.05 09:45
Оценка:
Здравствуйте, eiiaeiie, Вы писали:

E>дурацкий вопрос, но всё же


E>есть строка "askkesww2, 123, js7dy3g"

E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось:
E>askkesww2
E>123
E>js7dy3g

Использовать boost::tokenizer — и не важно, чем твои строки разделены:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
        parseString("string1; string2; string3", "; ");
}
//---------------------------------------------------------------------------
void TForm1::parseString(const AnsiString &as, AnsiString delim)
{
        typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
        std::string s(as.c_str());
        tokenizer tokens(s, boost::char_separator<char>(delim.c_str()));
        for (tokenizer::iterator it = tokens.begin(); it != tokens.end(); ++it)
                ListBox1->Items->Add(it->c_str());
}
"Что не завершено, не сделано вовсе" Гаусс
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.