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

Как извлечь только цифры из строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Последовательные контейнеры. Векторы http://www.cyberforum.ru/cpp-beginners/thread970727.html
Помогите, пожалуйста, как в изначально пустой вектор вставить 100 элементов путем вставки в СЛУЧАЙНУЮ ПОЗИЦИЮ. Случайная позиция генерируется каждый раз заново при вставке очередного элемента. И аналогичное для удаления... я тут написал код, но он, почему-то не работает( Заранее спасибо. #include <Vector> // int main(){
C++ программу,которая предлагает пользователю ввести требуемые данные помогите,пожалуйста,написать программу В соответствии с персональным вариантом задания написать программу, которая предлагает пользователю ввести требуемые данные (параметры A,B,C,D,G,M,N,K,W для различных вариантов), проверяет корректность введенных данных (отрицательный или дробный возраст, нулевой год и т.д.), предлагает исправить некорректно введенные данные и вычисляет требуемые в задании... http://www.cyberforum.ru/cpp-beginners/thread970717.html
C++ найдите ошибку
вот скрин, пишет что синтаксическая ошибка, помогите!
C++ от структур к классам
Добрый вечер. Помогите пожалуйста разобраться в классах, только начал их изучать. Есть задание переделать структуру в класс ну и сделать все в оформлении ООП. #include "stdafx.h" #include <iostream> #include <string> #include <Windows.h> using namespace std;
C++ Как правильно подключить набор сертификатов в curl? http://www.cyberforum.ru/cpp-beginners/thread970691.html
Здравствуйте, есть следующий код: #include <stdio.h> #include <curl/curl.h> #include <string> int main(void) { CURL *curl; CURLcode res;
C++ При выводе появляется число -84215045 откуда оно не могу понять /* 13.5 Дан список из n целых чисел a1,a2,...,an. Вывести на экран элементы списка в указа- нной последовательности: an,a1,an-1,a2,...,a1,an */ #include <iostream> #include <iomanip> #include <locale.h> using namespace std; подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
07.10.2013, 03:21     Как извлечь только цифры из строки
Ну от еще как вариант с переводом в строку.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <regex>
#include <sstream>
#include <string>
#include <algorithm>
using namespace::std;
 
int main()
{
    std::string str="00:01:20,404 --> 02:01:09,271";
    cout <<"str= "<<str<<endl;
 
    std::regex rv("^([^:]*?):([^:]*?):([^,]*?),([^ ]*?) --> ([^:]*?):([^:]*?):([^,]*?),(.*?)$");
    std::smatch sm;
    if(std::regex_search(str,sm,rv))
    {
        string s1,s2;
        int int1,int2;
        int n(500);
        s1+=sm[1].str()+sm[2].str()+sm[3].str()+sm[4].str();
        s2+=sm[5].str()+sm[6].str()+sm[7].str()+sm[8].str();
 
        stringstream ss;
        ss<<s1; ss>>int1;
        ss.clear();
        ss<<s2; ss>>int2;
 
        int1+=n;
 
        ss.clear(); ss<<int1; ss>>s1;
        ss.clear(); ss<<int2; ss>>s2;
 
        //преобразовываем в строку
        string sss1,sss2;
        for(int i=0;i<9;i++)
        {
            if(s1.size()!=0)
            {
                sss1.push_back(s1.back());
                s1.pop_back();
            }
            else
            {
                sss1.push_back('0');
            }
            //00:01:20,404 --> 02:01:09,271
            if(i==2) sss1.push_back(',');
            else if(i==4||i==6)sss1.push_back(':');
        }
 
        for(int i=0;i<9;i++)
        {
            if(s2.size()!=0)
            {
                sss2.push_back(s2.back());
                s2.pop_back();
            }
            else
            {
                sss2.push_back('0');
            }
            //00:01:20,404 --> 02:01:09,271
            if(i==2) sss2.push_back(',');
            else if(i==4||i==6)sss2.push_back(':');
        }
 
        reverse(sss1.begin(),sss1.end());
        reverse(sss2.begin(),sss2.end());
        
        str=sss1+" --> "+sss2;
        cout <<"str= "<<str<<endl;
    }
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru