여기서 우리는 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