Extract all integers from string in C++
Last Updated :
14 Dec, 2022
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:
- Enter the whole string into stringstream.
- Extract the all words from string using loop.
- Check whether a word is integer or not.
Implementation:
CPP
#include <iostream>
#include <sstream>
using namespace std;
void extractIntegerWords(string str)
{
stringstream ss;
ss << str;
string temp;
int found;
while (!ss.eof()) {
ss >> temp;
if (stringstream(temp) >> found)
cout << found << " " ;
temp = "" ;
}
}
int main()
{
string str = "1: 2 3 4 prakhar" ;
extractIntegerWords(str);
return 0;
}
|
Time Complexity: O(N), where, N is the length of the string.
Auxiliary Space: O(1), We are not using any extra space.
Related Articles :
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...