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:
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:
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 » Hàm Tách Chuỗi C++
-
Tách Chuỗi Trong C++ (strtok)
-
Hỏi Hàm để Tách Chuỗi - Programming - Dạy Nhau Học
-
[C++ Cơ Bản] Tách Các Từ Trong Một Chuỗi | Thào A Vảng - YouTube
-
Hướng Dẫn Split String C++ - QA Bug
-
C Cơ Bản: Hàm Strtok - DevIOT
-
Strtok Trong C++ - Techacademy
-
Xâu Trong C++ - VNOI
-
Bài 18: Các Hàm Xử Lý Chuỗi Trong Lập Trình C - Khuê Nguyễn
-
Vi Du Về Hàm Tách Chuỗi Trong MFC C++ - Nhật Ký Tuổi Trẻ
-
Tách Các Từ Trong Chuỗi [Archive] - Diễn Đàn Tin Học
-
Lập Trình C: Hàm Xử Lý Chuỗi (String) | V1Study
-
C++ — C ++: Tách Một Chuỗi Thành Một Mảng
-
Tách Chuỗi Thành Các Từ Riêng Lẽ? - UIT - Forum