给定一个字符串,从中提取所有整数单词。
例子 :
Input : str = "geeksforgeeks 12 23 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
这个想法是使用stringstream:,该类的对象使用一个字符串缓冲区,该字符串缓冲区包含一个字符序列。
算法
1. Enter the whole string into stringstream.
2. Extract the all words from string using loop.
2. Check whether a word is integer or not.
/* Extract all integers from string */
#include
#include
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;
}
输出:
1 2 3 4
相关文章 :
- 在C++中将字符串转换为数字,反之亦然
- 程序从给定的字符串中提取单词
- 使用Stringstream从字符串删除空格
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。