Tách String Trong C++
Có thể bạn quan tâm
Hướng dẫn cách tách string trong C++. Bạn sẽ học được cách tự tạo hàm split trong C++ để tách string sau bài học này.
Tách string trong C++
Tách string trong C++ là xử lý tách các string con từ string ban đầu bằng các ký tự phân cách như tab \t, dấu cách, dấu phẩy hay ký tự xuống dòng chẳng hạn.
Do trong C++ không có sẵn hàm này, nên chúng ta phải tự tạo ra hàm split để tách string trong C++, bằng cách ứng dụng các hàm và phương thức có sẵn.
| string split(string str, string delimiter){ //str: chuỗi cần tách //delimiter: ký tự phân cách size_t pos = 0; string token; while ((pos = str.find(delimiter)) != string::npos) { token = str.substr(0, pos); cout << token << endl; str.erase(0, pos + delimiter.length()); } return str;} |
Tách string trong C++ bằng một ký tự phân cách
Bằng cách chỉ định đối số delimiter trong hàm split ở trên là một ký tự, ví dụ như là tab \t, dấu cách, dấu phẩy hay ký tự xuống dòng chẳng hạn, chúng ta có thể tách chuỗi string ban đầu thành các chuỗi nhỏ như sau:
| #include <iostream>using namespace std;string split(string str, string delimiter){ size_t pos = 0; string token; while ((pos = str.find(delimiter)) != string::npos) { token = str.substr(0, pos); cout << token << endl; str.erase(0, pos + delimiter.length()); } return str;} int main() { //Tách string bằng ký tự trống cout << split("Hello new world!", " ") << endl; //Tách string bằng dấu tab cout << split("Tom\tand\tJerry", "\t") << endl; return 0;} |
Kết quả, các ký tự được tách ra bởi ký tự phân cách như sau:
| Hellonewworld!TomandJerry |
Tách string trong C++ bằng một chuỗi ký tự phân cách
Bằng cách chỉ định đối số delimiter trong hàm split ở trên là một chuỗi ký tự, chúng ta có thể tách chuỗi string ban đầu thành các chuỗi nhỏ như sau:
| #include <iostream>using namespace std;string split(string str, string delimiter){ size_t pos = 0; string token; while ((pos = str.find(delimiter)) != string::npos) { token = str.substr(0, pos); cout << token << endl; str.erase(0, pos + delimiter.length()); } return str;} int main() { //Tách string bằng chuỗi ký tự " and " cout << split("Tom and you and me", " and ") << endl; //Tách string bằng chuỗi ký tự "*_*" cout << split("Good*_*Morning*_*MyLove", "*_*") << endl; return 0;} |
Kết quả, các ký tự được tách ra bởi chuỗi ký tự phân cách như sau:
| TomyoumeGoodMorningMyLove |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách tạo hàm split để tách string trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
Tham khảo:https://stackoverflow.com/questions/14265581/parse-split-a-string-in-c-using-string-delimiter-standard-c
URL Link
https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/string-trong-cpp/tach-string-trong-cpp/
Từ khóa » Tách Xâu
-
Tách Chuỗi Trong C++ (strtok)
-
[C++ Cơ Bản] Tách Các Từ Trong Một Chuỗi | Thào A Vảng - YouTube
-
Hỏi Hàm để Tách Chuỗi - Programming - Dạy Nhau Học
-
Tách Xâu Bằng Stringstream - Programming - Dạy Nhau Học
-
Xâu Trong C++ - VNOI
-
Tách Các Từ Trong Chuỗi [Archive] - Diễn Đàn Tin Học
-
Làm Thế Nào để Tách Chuỗi Văn Bản Trong Excel Theo Dấu Phẩy ...
-
Tách Xâu Số Ra Khỏi Xâu Nhập Một Chuỗi Kí Tự Có Các Số Tự Nhiên
-
Ví Dụ Tách Từ Trong Xâu - Lê Hữu Dũng
-
Tách Chuỗi Theo Từng Dòng Php - Viblo
-
Cách Tách Chuỗi Trong Excel - Thủ Thuật Phần Mềm
-
#034 - Tách Một Chuỗi Thành Một Mảng | DEVMASTER