Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 문자열에서 모든 정수 추출


여기서 우리는 C++의 문자열에서 모든 정수를 추출하는 방법을 볼 것입니다. 숫자와 숫자가 없는 곳에 문자열을 넣을 수 있습니다. 여기에서 모든 숫자 값을 추출합니다.

이 문제를 해결하기 위해 C++에서 stringstream 클래스를 사용합니다. 문자열을 단어 단위로 잘라낸 다음 정수형 데이터로 변환하려고 합니다. 변환이 완료되면 정수이고 값을 출력합니다.

Input: A string with some numbers “Hello 112 World 35 75”
Output: 112 35 75

알고리즘

Step 1:Take a number string
Step 2: Divide it into different words
Step 3: If a word can be converted into integer type data, then it is printed
Step 4: End

예시 코드

#include<iostream>
#include<sstream>
using namespace std;
void getNumberFromString(string s) {
   stringstream str_strm;
   str_strm << s; //convert the string s into stringstream
   string temp_str;
   int temp_int;
   while(!str_strm.eof()) {
      str_strm >> temp_str; //take words into temp_str one by one
      if(stringstream(temp_str) >> temp_int) { //try to convert string to int
         cout << temp_int << " ";
      }
      temp_str = ""; //clear temp string
   }
}
main() {
   string my_str = "Hello 112 World 35 75";
   getNumberFromString(my_str);
}

출력

112 35 75