Ở đâ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