📜  从C++中的字符串中提取所有整数

📅  最后修改于: 2021-05-30 05:18:49             🧑  作者: Mango

给定一个字符串,从中提取所有整数单词。

例子 :

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等的更多准备工作,请参阅“完整面试准备课程”