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

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

Войти
Регистрация
Восстановить пароль
 
xvivax
1 / 1 / 0
Регистрация: 07.09.2013
Сообщений: 25
#1

Поиск текста в файле между двумя данными словами - C++

26.08.2014, 03:10. Просмотров 447. Ответов 3
Метки нет (Все метки)

Привет всем. Подскажитье, как можно найти текст (неизвезный) между двух извесных слов в файле?
Например: вася/давно.курит - Мы знаем слова "вася/" и ".курит" как найти "давно" ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2014, 03:10     Поиск текста в файле между двумя данными словами
Посмотрите здесь:
C++ Убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два.
Наибольшее расстояние между словами в файле C++
Обмен данными между двумя процессами C++
Обмен данными между двумя динамическими массивами C++
Провести обмен данными между двумя массивами по условию C++
C++ Обмен данными между двумя приложениями по системе клиент-сервер
C++ Как организовать обмен данными между двумя разными программами?
C++ Выделить часть текста между словами, вводимыми с клавиатуры
C++ Удалить часть текста между словами,которые вводятся с клавиатуры
выделить часть текста между словами которые вводятся с клавиатуры C++
Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину каждого слова C++
C++ Поиск кратчайших путей между двумя вершинами графа методом Шимбела.

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
26.08.2014, 04:36     Поиск текста в файле между двумя данными словами #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
int main ()
{
    std::string str("vasya/davno.kurit"), str1("vasya/"), str2(".kurit");
    std::string::size_type ind1, ind2;
    if((ind1 = str.find(str1)) != std::string::npos && (ind2 = str.find(str2, ind1 + str1.size())) != std::string::npos)
    {
        std::cout << str.substr(ind1 + str1.size(), ind2 - ind1 - str1.size()) << '\n';
    }
    return 0;
}
Ilot
Модератор
Эксперт С++
1789 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
26.08.2014, 08:25     Поиск текста в файле между двумя данными словами #3
igorrr37, должно быть ТС интересует возможность наличия между известными словами совершенно произвольного текста. Необходим еще один поиск.
orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
26.08.2014, 14:03     Поиск текста в файле между двумя данными словами #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <string>
 
 
std::string stringBetweenWords(const std::string&, const std::string&, const std::string&);
 
int main()
{
    std::string str1("lorem ipsum dolor sit amet"), str2("bla bla bla"), str3("<i>Cool text</i>");
    std::cout << stringBetweenWords(str1, "lorem ", " amet") << std::endl
        << stringBetweenWords(str2, "bl", "l") << std::endl
        << stringBetweenWords(str3, "<i>", "</i>") << std::endl
        << stringBetweenWords("string between words", "string ", " words") << std::endl;
 
    std::cin.get();
}
 
std::string stringBetweenWords(const std::string& source, const std::string& firstWord, const std::string& secondWord)
{
    std::string result;
    size_t firstPos, secondPos;
 
    if ((firstPos = source.find(firstWord)) != std::string::npos)
    {
        if ((secondPos = source.find(secondWord, firstPos + firstWord.size())) != std::string::npos)
        {
            result = source.substr(firstPos + firstWord.size(), secondPos-firstPos-firstWord.size());
        }
    }
 
    return result;
}
Yandex
Объявления
26.08.2014, 14:03     Поиск текста в файле между двумя данными словами
Ответ Создать тему
Опции темы

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