Форум программистов, компьютерный форум CyberForum.ru

Проверка наличия слова в тексте - C++

Восстановить пароль Регистрация
 
Galphimbl
21 / 21 / 3
Регистрация: 13.01.2013
Сообщений: 125
05.04.2014, 19:56     Проверка наличия слова в тексте #1
на javascript есть вот такой простой способ проверки
Javascript
1
2
/Hello/.test('Hello World'); // true
/Hi/.test('Hello World'); //false
есть ли что то подобное в C++ ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 19:56     Проверка наличия слова в тексте
Посмотрите здесь:

C++ В тексте слова, стоящие на четных местах, переписать задом наперед. В тексте несколько строк.
Проверка наличия символов в строке C++
Проверка наличия соединения с интернет, VC++ C++
Проверка наличия двух пар среди выданных игроку карт C++
C++ Определить самое длинное слово в тексте. Считать, что слова в тексте отделены друг от друга одним пробелом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,517
06.04.2014, 00:37     Проверка наличия слова в тексте #2
Функции типа strcmp, хотя она проверят не на наличие, а на сходимость с данным, а на наличие будет strncmp с собственным алгоритмом перебора i-ого.
BlackSpace
135 / 128 / 50
Регистрация: 15.03.2014
Сообщений: 275
06.04.2014, 00:55     Проверка наличия слова в тексте #3
Есть как минимум 6 вариантов поиска для типа string.
Наиболее простой s.find( args ) - ищет первое положение аргумента args в строке s.
http://www.cplusplus.com/reference/string/string/find/

Более подробно о поиске для типа string рекомендую прочесть в книге автора Стенли Липпман
"Язык программирования C++. Вводный курс." 4-е издание, 2007, глава 9.6.4 - Операции поиска строк.

Если для строк в стиле си, то можно использовать strstr()

Цитата Сообщение от Izual Посмотреть сообщение
а на наличие будет strncmp с собственным алгоритмом перебора i-ого.

Явно не лучший вариант.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,517
06.04.2014, 01:01     Проверка наличия слова в тексте #4
Цитата Сообщение от BlackSpace Посмотреть сообщение
Явно не лучший вариант.
Чем не лучший? Мозг видимо развивать уже не "МОДНО"?!
BlackSpace
135 / 128 / 50
Регистрация: 15.03.2014
Сообщений: 275
06.04.2014, 01:24     Проверка наличия слова в тексте #5
Izual, интеллект развивать необходимо, спору нет.
Также как и программисту необходимо расширять свои знания о готовом функционале изучаемого языка и его библиотек.
Советовать человеку писать некую самоделку для поиска подстроки в строке при наличии готовых средств - это не лучший вариант.

Применять Ваш вариант, на мой взгляд, можно только в нескольких случаях
- очень интересно написать самому
- запрещено ( кем-то ) использовать готовый функционал для поиска строк
- нечего делать

Моя позиция такая.

Не по теме:

Цитата Сообщение от Izual Посмотреть сообщение
Чем не лучший? Мозг видимо развивать уже не "МОДНО"?!
А вот скажите, зачем Вы советовали использование strncmp()? Это ведь готовая функция, "мозг не развивает". Вы так не думаете? Посоветуйте автору темы сравнивать посимвольно, что-то вроде такого
C++
1
2
3
... // тут верхняя часть собственного алгоритма перебора
if ( str[ i ]  == substr[ j ] )
... // а тут нижняя

Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,517
06.04.2014, 01:48     Проверка наличия слова в тексте #6
Цитата Сообщение от BlackSpace Посмотреть сообщение
Это ведь готовая функция
Можно, но это уже изврат. Суть того что человек должен уметь делать что то сам, без шаблонов. Использовать правильно функцию strncmp тоже исскуство. Кстати подумал тут, а функция эта если первый символ не совпадает сразу return 0 делает? - если так, то очень хорошо, если нет - то можно по первому символу сравнивать, ежели не совпадает, то сразу переходить дальше.
Шаблоны как догмы - затягивают, а потом просто становишся тупым и фанатичным. Примеров даже тут на форуме масса, большинство как то мыслят "странно", не логично - потому что практики алгоритмической нет(потому что шаблоны юзают). А взять php программеров - так там вообще тьма, их и программистами то не назовёш, потому что большинство только и умеет что кнопочками выбирать нужный скрипт)))
Galphimbl
21 / 21 / 3
Регистрация: 13.01.2013
Сообщений: 125
07.04.2014, 16:30  [ТС]     Проверка наличия слова в тексте #7
BlackSpace, спасибо, ваш совет очень помог
Izual, если вдруг мне захочется острых ощущений, я буду знать к кому обратиться
а вообще спасибо что не обошли стороной и помогли
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 16:49     Проверка наличия слова в тексте
Еще ссылки по теме:

Проверка наличия файлов в директории C++
C++ Проверка наличия файла
C++ Найти слова в заданном тексте, состоящие из цифр и сумму чисел, которые образуют эти слова

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

Или воспользуйтесь поиском по форуму:
Izual
07.04.2014, 16:49     Проверка наличия слова в тексте
  #8

Не по теме:

Цитата Сообщение от Galphimbl Посмотреть сообщение
вдруг мне захочется острых ощущений

Yandex
Объявления
07.04.2014, 16:49     Проверка наличия слова в тексте
Ответ Создать тему
Опции темы

Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru