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

Поиск в строке find, регистр букв - C++

Восстановить пароль Регистрация
 
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
30.08.2013, 01:19     Поиск в строке find, регистр букв #1
Здраствуйте! Подскажите пожалуйста как мне тут с помощь метода find найти все искомые слова.
Тут 3 слова Hello, надо их все найти и вывести на экран, и еще интересует как искать слова в строке не обращая внимания на регистр букв, тоесть чтобы нашло все слова hello
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
void main()
{
    string A = "Hello! gsd hello, HELLO, HeLlo, Hello, hELLO fasdf sgdgsd Hello! Dkjas";
    string B = "Hello";
    size_t p;
    
    while ( p = A.find(B) != string::npos )
        {
          cout << A.substr(p, B.size());
        }
    cin.get();
}
Добавлено через 1 час 29 минут
С регистром разобрался, подскажите пожалуйста как мне найти позицию начала второго или третьего слова Hello, а то find возвращает только первого.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2013, 01:19     Поиск в строке find, регистр букв
Посмотрите здесь:

Регистр букв C++
C++ Поиск одинаковых букв в строке из массива строк.
Перевод букв в нижний регистр C++
C++ STL. Алгоритм find(). Игнорировать регистр
C++ Программа, которая не реагирует на регистр букв C++
C++ Изменить регистр букв
C++ Регистр букв, ошибка
Find - поиск в строке файла txt C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.08.2013, 01:38     Поиск в строке find, регистр букв #2
Цитата Сообщение от ovner Посмотреть сообщение
подскажите пожалуйста как мне найти позицию начала второго или третьего слова Hello, а то find возвращает только первого.
передавай в find позицию

Добавлено через 1 минуту
C++
1
2
3
4
5
6
size_t p = 0;
while ((p = A.find(B, p)) != string::npos)
{
     cout << A.substr(p, B.size());
     ++p;
}
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
30.08.2013, 01:44  [ТС]     Поиск в строке find, регистр букв #3
Цитата Сообщение от Jupiter Посмотреть сообщение
передавай в find позицию

Добавлено через 1 минуту
C++
1
2
3
4
5
6
size_t p = 0;
while ((p = A.find(B, p)) != string::npos)
{
     cout << A.substr(p, B.size());
     ++p;
}
спасибо, буквально минуту назад сам в этом разобрался)
Yandex
Объявления
30.08.2013, 01:44     Поиск в строке find, регистр букв
Ответ Создать тему
Опции темы

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