Computer >> Máy Tính >  >> Lập trình >> C ++

Trích xuất tất cả các số nguyên từ chuỗi trong C ++


Ở đây chúng ta sẽ xem cách trích xuất tất cả các số nguyên từ chuỗi trong C ++. Chúng ta có thể đặt một chuỗi ở đó có số và không có số. Chúng tôi sẽ trích xuất tất cả các giá trị số từ nó.

Để giải quyết vấn đề này, chúng ta sẽ sử dụng lớp stringstream trong C ++. Chúng tôi sẽ cắt chuỗi từng từ một và sau đó cố gắng chuyển nó thành dữ liệu kiểu số nguyên. nếu quá trình chuyển đổi được thực hiện, thì nó là số nguyên và in ra giá trị.

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

Thuật toán

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

Mã mẫu

#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);
}

Đầu ra

112 35 75