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

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

Войти
Регистрация
Восстановить пароль
 
-J_O_K_E_R-
3 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 82
#1

умный поиск текста - C++

10.08.2013, 17:24. Просмотров 431. Ответов 3
Метки нет (Все метки)

есть файл, в нем текст вида <br/>Деньги: 50000<br/>
как реализовать поиск иммено Деньги: 50000 вот этой части
при условии что количество цыфр разное
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2013, 17:24     умный поиск текста
Посмотрите здесь:

Поиск текста в файле C++
C++ Поиск и замена текста в файле
C++ Поиск слов из текста.
Поиск и замена текста C++
Умный указатель C++
C++ Умный указатель
C++ Кто самий умный?
C++ А new+delete сильно умный?
Поиск текста в памяти игры C++
C++ Поиск текста в файле
C++ Декоратор и умный указатель
C++ Умный калькулятор

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
10.08.2013, 17:39     умный поиск текста #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(int argc, char* argv[])
{
    char str[256] = "<br/>Деньги: 50000<br/>";
 
    for (int i = 0; str[i] != '\0'; i++)
    {
        int k = i+1, n = 0; char buf[256] = "\0";
        while (str[k] != '<' && 
            str[i] == '>' && str[k] != '\0') 
            buf[n++] = str[k++];
 
        if (strcmp("\0",buf) < 0) 
            printf("%s\n",buf);
    }
 
    _getch();
 
    return 0;
}
http://codepad.org/XsMXAbm5
Kastaneda
Форумчанин
Эксперт С++
4468 / 2830 / 224
Регистрация: 12.12.2009
Сообщений: 7,199
Записей в блоге: 1
Завершенные тесты: 1
10.08.2013, 18:21     умный поиск текста #3
Гугли html parser, например вот.
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
10.08.2013, 20:10     умный поиск текста #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
#include <iostream>
#include <iterator>
#include <fstream>
#include <string>
#include <boost/regex.hpp>
#include <windows.h>
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
 
    std::ifstream ifs("D:/file.txt");
    if (ifs.is_open())
    {
        boost::regex reg("<([bB][rR]/)>(Деньги:\\s+\\d+)<\\1>");
        std::string s {std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>()};
 
        boost::sregex_iterator start(s.begin(), s.end(), reg);
        while (start != boost::sregex_iterator())
            std::cout << (*start++)[2] << std::endl;
    }
    else
        std::cerr << "Error opening file.";
 
    std::cout << "Done" << std::endl;
    return 0;
}
Yandex
Объявления
10.08.2013, 20:10     умный поиск текста
Ответ Создать тему
Опции темы

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