Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
1

Парсинг текста на отдельные символы или слова

14.02.2013, 16:41. Показов 2977. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть вот такой текст
C++
1
1024,32,"Agree",2,4,0,176,0,1,,2013-02-13 01:49:36,2013-02-13 02:27:53,0,1,0,0,0,0,85,35,-1442.8,242.1,1385.0,1,0,0,0,0,0,0,0,0,4,0,820,0,0,1360530000,0,21600,7263,16,16,5,5,5,5,5,85,35,4,1, 2.0, 4.9, 3.0, 5.0,0,1,1,16, 2.5,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,64,28,0,2,8,0,0,0,1,0,8,6
Нужно его роспарсить так что бы отделяло после каждой запятой , тоесть текст как бы розбит на запятые и по ним же нужно розбить на отдельные символы или слова.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2013, 16:41
Ответы с готовыми решениями:

Разбиение текста на отдельные слова и символы
Необходимо разбить текст, на отдельные символы и слова. К примеру, есть текстовый файл с кодом...

Вытащить из текста все отдельные слова
Задача в том, чтобы вытащить из текстового файла слова и отсортировать их по частоте встречаемости....

Введенную строку текста, заканчивающуюся точкой, разбить на отдельные слова
Введенную строку текста, заканчивающуюся точкой, разбить на отдельные слова, т.е. вывести каждое...

Парсинг русского текста с сайта. Неизвестные символы вместо кириллицы
С помощью WebRequest запрашиваю html код страницы, но вместо русских букв там крокозябры. Пробовал...

12
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 17:00 2
boost::split
boost/spirit
boost/regex

Да и что мешает использовать простой getline() ?
0
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
14.02.2013, 18:15  [ТС] 3
Полазил по гуглу особо примеров или каких то обяснений нету по этой функции, к сожелению нею ниразу не пользовался . Вы не могли бы хоть какой то код показать по отношению текста.
Буду примного Благодарен.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 18:28 4
http://www.cplusplus.com/refer... kw=getline

Добавлено через 1 минуту
Если читать до запятой то
C++
1
std::getline(fs,str,',');
0
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
14.02.2013, 18:32  [ТС] 5
Но как я понял оно прочтет только до 1 запятой, но мне как бы нужно розбить то что до первой запятой , в первый едит , что после второй во второй , и так далее.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 18:33 6
Что мешает несколько раз её вызывать ?
0
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
14.02.2013, 18:43  [ТС] 7
раз 30-40 это не пару раз=)
Но больше всего интересует как же определить откуда начинать .
Вот к примеру мне нужно во 12 едит в пилить после 20 запятой текст.
Как определить от куда начинать.
ПРиведи пример с текстом а то я что то не доганяю вообще эту функции (если не сложно канешно).
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 18:47 8
не пойму о чем вы...
0
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
14.02.2013, 18:54  [ТС] 9
Вот смотри у меня есть много строк по типу :
C++
1
1024,32,"Agree",2,4,0,176,0,1,,2013-02-13 01:49:36,2013-02-13 02:27:53,0,1,0,0,0,0,85,35,-1442.8,242.1,
иИ
только с разным заполнениям смотри например я выбрал вот строку , что я указал выше.
И мне нужно в Edit1 вывести вот это значения

1024,32,"Agree",2,4,0,176,0,1,,2013-02-13 01:49:36,2013-02-13 02:27:53,0,1,0,0,0,0,85,35,-1442.8,242.1

как именно зделать что бы оно после 11 запятой начало считать .Вот что интересует .
Сама задумка есть примерно 20 едит и вот есть мемо в котором много подобных строк только с заполнениям разным . И вот нужно в каждый едит вписать текст что стоит после следуйшей запятой .
К примеру:
1 Едит єто - 1024
2 Едит - 32
3 Едит - "Agree"
и так далие
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 19:01 10
Грузи в std::vector<> строки по том выбирай какую необходимо
0
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 113
14.02.2013, 19:27  [ТС] 11
именно этим щас и занимаюсь...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.02.2013, 19:28 12
Да кстати почему не используете TStringList и StringReplace() ?
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
16.02.2013, 14:21 13
Лучше вот такой код запусти:
C++
1
2
3
4
5
6
7
8
    String s = "1024,32,\"Agree\",2,4,0,176,0,1,,2013-02-13 01:49:36,2013-02-13 02:27:53,"
                   "0,1,0,0,0,0,85,35,-1442.8,242.1,1385.0,1,0,0,0,0,0,0,0,0,4,0,820,0,0,"
                   "1360530000,0,21600,7263,16,16,5,5,5,5,5,85,35,4,1, 2.0, 4.9, 3.0, 5.0,"
                   "0,1,1,16, 2.5,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,64,28,0,2,8,0,0,0,1,0,8,6";
    std::auto_ptr <TStringList> sl( new TStringList );
    ExtractStrings( TSysCharSet( ) << ',', TSysCharSet( ), s.c_str( ), sl.get( ) );
    ShowMessage( sl->Strings[10] );
    ShowMessage( sl->Text );
0
16.02.2013, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2013, 14:21
Помогаю со студенческими работами здесь

Парсинг Мемо (или как удалить определенные символы)
В Мемо1 имеется куча строк вот такого вида, нужно в Мемо2 скопировать только последние 7 символов...

Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются...

Парсинг текста: вытащить подстроку в скобках после ключевого слова
Есть например стока: 'ergfijeroigjergioerTEXT{Hello world}erhryjhrgerfer' Как можно вытащить...

Выделить из текста слова, не содержащие одинаковые символы
Здравствуйте ! Вот условие задачи: Дан текст (строка из букв и пробелов). Выделить из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru