Skip to content
Related Articles

Related Articles

Extract all integers from string in C++

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 18 Jul, 2022
Improve Article
Save Article

Given a string, extract all integers words from it. Examples :

Input : str = "geeksforgeeks 12 13 practice"
Output : 12 13

Input : str = "1: Prakhar Agrawal, 2: Manish Kumar Rai, 3: Rishabh Gupta"
Output : 1 2 3

Input : str = "Ankit sleeps at 4 am."
Output : 4

The idea is to use stringstream:, objects of this class use a string buffer that contains a sequence of characters. 

Algorithm:

  1. Enter the whole string into stringstream. 
  2. Extract the all words from string using loop. 
  3. Check whether a word is integer or not.

Implementation:

CPP




/* Extract all integers from string */
#include <iostream>
#include <sstream>
using namespace std;
 
void extractIntegerWords(string str)
{
    stringstream ss;
 
    /* Storing the whole string into string stream */
    ss << str;
 
    /* Running loop till the end of the stream */
    string temp;
    int found;
    while (!ss.eof()) {
 
        /* extracting word by word from stream */
        ss >> temp;
 
        /* Checking the given word is integer or not */
        if (stringstream(temp) >> found)
            cout << found << " ";
 
        /* To save from space at the end of string */
        temp = "";
    }
}
 
// Driver code
int main()
{
    string str = "1: 2 3 4 prakhar";
    extractIntegerWords(str);
    return 0;
}

Output

1 2 3 4 

Related Articles : 

This article is contributed by Prakhar Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!