|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.09.2007, 20:03 | #1 |
Пользователь
Регистрация: 24.08.2007
Сообщений: 37
|
Как удалить слово из строки?
Мне нужно удалить слово каторое заканчивается на ая (типо морская или тверская)
|
11.09.2007, 08:54 | #2 |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
//---------------------------------------------------------------------------
#include <vcl.h> #include <windows.h> #include <string> #pragma hdrstop #pragma argsused using namespace std; //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { string Text = " курилы питер тверская морская бумажная гавеная ceшняк виски дура "; for(int i=0; i<Text.length(); i++) { if((Text[i] == 'а') && (Text[i+1] == 'я')) { //оканчивается на "ая" if((Text[i+2] == ' ') || (Text[i+2] == '\0')) { int j = ++i; //это конец слова do { Text.erase(Text.begin() + j); j--; i--; } while((Text[j] != ' ')); Text.erase(Text.begin() + j); } } } ShowMessage(Text.c_str()); return 0; } //--------------------------------------------------------------------------- первое что пришло в голову. А можно задачу более конкретно обрисовать? из любой строки, с любыми символами?
Бог сделал людей разными, а генерал Кольт уравнял шансы
Последний раз редактировалось studenth; 11.09.2007 в 10:58. |
11.09.2007, 10:45 | #3 |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
честное слово запарился править
вечно спешу куда - то да и кофе в институте кончился...в автомате в этом примере строка должна быть содержать один пробел впереди....издержки моего дурного метода
Бог сделал людей разными, а генерал Кольт уравнял шансы
|
11.09.2007, 11:14 | #4 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
я бы нашел слово по пробелам, а потом проверял его окончание . но суть та-же
Берегите друг друга!
|
12.09.2007, 20:09 | #5 |
Пользователь
Регистрация: 24.08.2007
Сообщений: 37
|
Мне бы просто цикл нужен , так то прога у меня уже готова, только с удалением запарочка!
|
17.09.2007, 13:34 | #6 | |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
Цитата:
Это функция лексимизации строки. тоесть она строку дергает на лексемы, ограниченные параметром.
Бог сделал людей разными, а генерал Кольт уравнял шансы
|
|
19.09.2007, 15:38 | #7 |
Пользователь
Регистрация: 18.09.2007
Сообщений: 13
|
Удаление слова, оканчивающегося на "an"
Протестировал, прогграмма работает, где бы не находилось слово, в конце, в середине или в начале предложения. Слово оканчивающееся на "an" удаляется.
Но удаляется только одно первопапавшееся слово, оканчивающееся на "an". Вот, посмотри, может появятся какие нибудь соображения. '\0' означает конец строки 32 десятеричный код пробела |
19.09.2007, 15:43 | #8 |
Пользователь
Регистрация: 18.09.2007
Сообщений: 13
|
Листинг программы удаления слова
Код:
Последний раз редактировалось rpy3uH; 21.04.2009 в 10:26. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как удалить из строки подстроку по маске ? | - fenix - | Помощь студентам | 4 | 23.04.2008 15:04 |
Как удалить пустые строки в WORD? | KUNAR | Microsoft Office Word | 2 | 04.09.2007 20:56 |
Удалить из Memo повторяющиеся строки | Etar | Компоненты Delphi | 2 | 28.06.2007 18:34 |
С++ Найти самое длинное слово строки | k0z7_g0b1in | Общие вопросы C/C++ | 3 | 22.04.2007 17:37 |
удалить похожие строки | ZORRO2005 | Microsoft Office Excel | 0 | 28.11.2006 22:03 |