Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Sendo
0 / 1 / 1
Регистрация: 12.08.2016
Сообщений: 37
#1

Поиск подстроки в строке

18.03.2017, 00:33. Просмотров 1195. Ответов 4
Метки нет (Все метки)

Добрый вечер. У меня есть string нужно найти определенную под строку примером "world"
Ищу с помощью функции find, получаю номер первого символа в строке, но вопрос как найти остальные "world" в этой же строке? Что бы заново не искать из самого начала?

Добавлено через 4 минуты
Есть идея начинать следующий поиск с символа который был найден в первом поиске, но как задать поиск с определенного символа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2017, 00:33
Ответы с готовыми решениями:

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

Поиск в строке подстроки
Здравствуйте! Есть строка , в которой надо найти слово, удалить его и выдать...

Поиск подстроки в строке
Добрый день. Ошибка в программе. Первый раз ищет отлично, потом постоянно...

Поиск подстроки в строке
Здравствуйте. Очень нужна программа поиска подстроки в строке. Действительно оч...

Поиск подстроки в строке
Как в С++ осуществляется поиск подстроки в строке???

4
nd2
2836 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,042
18.03.2017, 00:36 #2
Цитата Сообщение от Sendo Посмотреть сообщение
получаю номер первого символа в строке,
Цитата Сообщение от Sendo Посмотреть сообщение
как найти остальные "world" в этой же строке? Что бы заново не искать из самого начала?
Прибавь к найденому индексу размер world, и ищи дальше, начиная с полученного индекса.
0
Antikl
с++
293 / 286 / 153
Регистрация: 15.07.2015
Сообщений: 1,538
Завершенные тесты: 6
18.03.2017, 00:36 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std ;
 
 
int main()
{
 
    string str = "Hello friend";   //Строка для примера
 
    int pos = str.find("friend");  //Ищем "friend" в str
 
    cout<< pos<<endl;
 
    return 0;
}
0
OlafNestandart
54 / 54 / 31
Регистрация: 24.10.2016
Сообщений: 186
18.03.2017, 02:53 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string>
#include <iostream>
 
using namespace std;
 
int main() {
    string str = "world world world";
    string sub = "world";
    size_t n = 0, from = 0;
    while ((n = str.find(sub, from)) != string::npos) {
        cout << n << " ";
        from = n + sub.size();
    }
    return 0;
}
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4424 / 2395 / 664
Регистрация: 18.10.2014
Сообщений: 4,050
18.03.2017, 02:56 #5
Цитата Сообщение от Sendo Посмотреть сообщение
но вопрос как найти остальные "world" в этой же строке?
А как определяются "остальные"? Например в строке "ababa" сколько должно найтись подстрок "aba" - одна или две?
0
18.03.2017, 02:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2017, 02:56

Поиск подстроки в строке
Всем доброе утро! Задачка звучит так - найти самую длинную подстроку в...

Поиск подстроки в строке
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace...

Поиск подстроки в строке
Всем привет. Прорабатывал пример из книжки Шилдта: #include &quot;iostream&quot;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru