Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Phân tích chuỗi phân tách bằng dấu phẩy trong C++


Trong chương trình này, chúng ta sẽ thấy cách phân tích (parse) chuỗi phân tách bằng dấu phẩy trong C++. Chúng ta sẽ đặt một chuỗi nơi một số văn bản có mặt, và chúng được phân tách bằng dấu phẩy. Sau khi thực thi chương trình này, nó sẽ tách những chuỗi đó vào một đối tượng kiểu vector.

Để tách chúng, chúng ta sử dụng hàm getline(). Cú pháp cơ bản của hàm này như sau:

getline (input_stream, string, delim)

Hàm này được dùng để đọc một chuỗi hoặc một dòng từ luồng đầu vào.

Đầu vào: Một số chuỗi "ABC,XYZ,Hello,World,25,C++" 
Đầu ra: Các chuỗi tách biệt ABC XYZ Hello World 25 C++

Thuật toán

Bước 1: Tạo luồng từ chuỗi cho trước
Bước 2: Khi luồng chưa kết thúc
    Bước 2.1: Lấy mục trước dấu phẩy
    Bước 2.2: Thêm mục vào vector
Bước 3: Trả về vector

Mã ví dụ

#include<iostream> 
#include<vector> 
#include<sstream> 
using namespace std; 

main() { 
    string my_str = "ABC,XYZ,Hello,World,25,C++"; 
    vector<string> result; 
    stringstream s_stream(my_str); //tạo luồng chuỗi từ chuỗi 
    while(s_stream.good()) { 
        string substr; 
        getline(s_stream, substr, ','); //lấy chuỗi đầu tiên phân tách bằng dấu phẩy 
        result.push_back(substr); 
    } 
    for(int i = 0; i < result.size(); i++) { //in tất cả chuỗi đã tách 
        cout << result.at(i) << endl; 
    } 
}

Kết quả

ABC 
XYZ 
Hello 
World 
25 
C++