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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
#1

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

30.08.2013, 01:19. Просмотров 550. Ответов 2
Метки нет (Все метки)

Здраствуйте! Подскажите пожалуйста как мне тут с помощь метода 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++
C++ исправьте ошибку (изменить регистр букв в файле)
C++ STL. Алгоритм find(). Игнорировать регистр
Программа, которая не реагирует на регистр букв C++
C++ Изменить регистр букв
Перевод всех строчных букв в верхний регистр C++
C++ Регистр букв, ошибка
Find - поиск в строке файла txt C++
Поиск в строке слова с минимальным количеством букв (код программы есть, нужно найти ошибку) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 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, регистр букв
Ответ Создать тему
Опции темы

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