алгоритм поиска слова
От: Аноним  
Дата: 05.10.05 21:43
Оценка:
Господа, подскажите, есть ли в стандартной библиотеке (желательно) алгоритм разбиения текста на отдельные слова (массив слов)? Или может есть еще где такой алгоритм...
Я ж замучаюсь условия прописывать или разделители вспоминать и придумывать...
Re: алгоритм поиска слова
От: Аноним  
Дата: 06.10.05 01:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Господа, подскажите, есть ли в стандартной библиотеке (желательно) алгоритм разбиения текста на отдельные слова (массив слов)? Или может есть еще где такой алгоритм...

А>Я ж замучаюсь условия прописывать или разделители вспоминать и придумывать...

strtok или поиском по слову tokenizer
Re: алгоритм поиска слова
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 06.10.05 06:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Господа, подскажите, есть ли в стандартной библиотеке (желательно) алгоритм разбиения текста на отдельные слова (массив слов)? Или может есть еще где такой алгоритм...

А>Я ж замучаюсь условия прописывать или разделители вспоминать и придумывать...

Например так (разделяет по пробельным символам):

// Этот include нужен только для вывода результата в std::cout
#include <iostream>

// std::istream_iterator и std::insert_iterator
#include <iterator>
// std::copy
#include <algorithm>
// std::string
#include <string>
// std::stringstream
#include <sstream>
// std::vector
#include <vector>

int _tmain(int argc, _TCHAR* argv[])
{
    std::string phrase = "Hello this world!";
    std::vector<std::string> words;
    
    std::copy(std::istream_iterator<std::string>(std::stringstream(phrase)),
              std::istream_iterator<std::string>(),
              std::insert_iterator<std::vector<std::string> >(words, words.begin()));

    std::cout << words[0] << std::endl; // Hello
    std::cout << words[1] << std::endl; // this
    std::cout << words[2] << std::endl; // world!
    return 0;
}
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[2]: алгоритм поиска слова
От: Аноним  
Дата: 06.10.05 07:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Господа, подскажите, есть ли в стандартной библиотеке (желательно) алгоритм разбиения текста на отдельные слова (массив слов)? Или может есть еще где такой алгоритм...

А>>Я ж замучаюсь условия прописывать или разделители вспоминать и придумывать...

А>strtok или поиском по слову tokenizer


пасибо, strtok хооршая штука, сама все делает
а вот что такое tokenizer, в мсдн не нашел...
а нет ли функции типа strtok, только с параметром коллбак-функции, для проверки значения разделителя? —
проверять просто на alphanumeric
Re[3]: алгоритм поиска слова
От: Кодт Россия  
Дата: 06.10.05 07:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>strtok или поиском по слову tokenizer


А>пасибо, strtok хооршая штука, сама все делает

А>а вот что такое tokenizer, в мсдн не нашел...

Это boost/tokenizer. www.boost.org тебе в помощь.

А>а нет ли функции типа strtok, только с параметром коллбак-функции, для проверки значения разделителя? —

А>проверять просто на alphanumeric

Токенайзер можно научить.
Перекуём баги на фичи!
Re[4]: алгоритм поиска слова
От: Аноним  
Дата: 06.10.05 08:34
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


А>>>strtok или поиском по слову tokenizer


А>>пасибо, strtok хооршая штука, сама все делает

А>>а вот что такое tokenizer, в мсдн не нашел...

К>Это boost/tokenizer. www.boost.org тебе в помощь.


А>>а нет ли функции типа strtok, только с параметром коллбак-функции, для проверки значения разделителя? —

А>>проверять просто на alphanumeric

К>Токенайзер можно научить.


мда, что то до буста у меня раньше руки не доходили... пора начинать
спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.