Xóa Ký Tự Trong String C++
Có thể bạn quan tâm
Hướng dẫn cách xóa string trong C++. Bạn sẽ học được cách sử dụng các hàm như hàm pop_back, hàm erase để xóa string trong C++ sau bài học này.
Chúng ta có 3 phương pháp để xóa string trong C++ như sau:
- Hàm pop_back : Xóa ký tự cuối cùng trong string
- Hàm erase: Xóa ký tự tại vị trí chỉ định
- Hàm erase(first, last): Xóa các ký tự trong phạm vi chỉ định
Xóa ký tự cuối cùng trong string C++ bằng pop_back
Hàm pop_back là một hàm thành viên trong class std:string, có tác dụng xóa ký tự cuối cùng trong string cũng như giảm độ dài của nó đi một đơn vị.
Cú pháp sử dụng hàm pop_back để xóa ký tự cuối cùng trong string như sau:
str.pop_back();
Trong đó str là tên string cần xóa ký tự cuối cùng. Lưu ý là ký tự cuối cùng ở đây không bao gồm ký tự kết thúc chuỗi \0.
Hàm pop_back thuộc kiểu void, do đó nó sẽ không trả giá trị. Bởi vậy nó sẽ xóa ký tự cuối cùng trong string chứ không trả về ký tự đó. Trong trường hợp muốn lấy ký tự cuối cùng trong string, hãy sử dụng tới hàm back để thay thế.
Ví dụ cụ thể:
| #include <iostream>#include <string>int main (){ std::string str ("Hello world"); str.pop_back(); std::cout << str; return 0;}//> Hello worl |
Có thể thấy ký tự cuối cùng trong chuỗi là ký tự d đã bị xóa khỏi chuỗi ban đầu.
Xóa 1 ký tự trong string bằng hàm erase
Hàm erase là một hàm thành viên trong class std:string, có tác dụng xóa một hoặc nhiều ký tự trong string C++ cũng như làm giảm độ dài tương ứng của nó.
Để xóa 1 ký tự tại vị trí chỉ định trong string C++ bằng hàm erase chúng ta sử dụng cú pháp sau đây:
str.erase(p);
Trong đó str là string ban đầu, và p là trình lặp trỏ đến vị trí cần xóa trong string.
Ở đây trình lặp (iterator) là một vòng lặp có tác dụng giống như con trỏ, giúp truy cập đến các ký tự ở vị trí cụ thể trong string.
Trong trường hợp cần chỉ đến vị trí index thứ n trong string, chúng ta sẽ viết trình lặp p như sau:
str.begin() + iTrong đó str.begin() chỉ đến vị trí đầu tiên trong string, và i là index của vị trí ký tự cần chỉ đến.
Kết hợp lại thì công thức để xóa 1 ký tự vào vị trí chỉ định trong string C++ bằng hàm erase sẽ như sau:
str.erase(str.begin() + i);
Ví dụ cụ thể:
| #include <iostream>#include <string>using namespace std;int main (){ string str("Hello World"); str.erase(str.begin() + 2);//Xóa ký tự ở vị trí thứ 2 cout << str<<endl; str.erase(str.begin() + 6);//Xóa ký tự ở vị trí thứ 6 cout << str; return 0;} |
Kết quả:
| Helo WorldHelo Wrld |
Xóa các ký tự trong một phạm vi chỉ định trong string C++
Chúng ta sử dụng hàm erase để xóa các ký tự trong một phạm vi chỉ định trong string C++ với cú pháp sau đây:
str.erase( iterator_first, iterator_last);
Trong đó str là chuỗi ban đầu, iterator_first và iterator_last là phạm vi cần xóa được chỉ định trong trình lặp trỏ đến vị trí cần xóa trong string.
Tương tự như khi xóa 1 ký tự thì cú pháp sử dụng thực tế để xóa các ký tự trong một phạm vi chỉ định trong string C++ bằng hàm erase sẽ là:
str.erase(str.begin() + start, str.begin() + end);
Trong đó start và end là vị trí index của phạm vi xóa trong string.
Ví dụ cụ thể:
| #include <iostream>#include <string>using namespace std;int main (){ string str("Hello World"); //Xóa ký tự trong phạm vi index từ 1 đến 3 str.erase(str.begin() + 1, str.begin() + 3); cout << str<<endl; //Xóa ký tự trong phạm vi index từ 2 đến 5 str.erase(str.begin() + 2, str.begin() +5); cout << str; return 0;} |
Kết quả:
| Hlo WorldHlorld |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách xóa ký tự trong string 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.
URL Link
https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/string-trong-cpp/xoa-ky-tu-trong-string-cpp/
Từ khóa » Xóa Trong Xâu
-
Chủ đề: Xóa Kí Tự Trong Xâu - Diễn Đàn Tin Học
-
Xóa Kí Tự Trắng Thừa Của Một Xâu Văn Bản Trong Pascal - Ôn Thi HSG
-
Hàm Xóa Xâu(erase) - Hàm Tạo Và Các Toán Tử
-
Viết Chương Trình Nhập Vào Một Xâu Sau đó Xóa Các Dấu Cách Có ...
-
Viết Chương Trình Nhập Vào Một Xâu Ký Tự, Xóa Tất Cả Các Khoảng ...
-
Nhập Vào Một Xâu Kí Tự Bất Kì A) Xóa Toàn Bộ Dấu Trắng Có ... - Hoc24
-
Thuật Toán Xoá Ký Tự Lặp Lại Trong Xâu Bị Sai - Dạy Nhau Học
-
Xóa Tất Cả Các Khoảng Trắng Thừa Của Xâu Ký Tự S
-
Xóa Khoảng Trắng Thừa Trong Chuỗi | Chuẩn Hóa Xâu Kí Tự Trong Pascal
-
C - Bài Tập: Xóa Bỏ Dấu Cách Thừa Trong Xâu Kí Tự Bằng Hàm Strcpy().
-
C - Bài Tập 5.14: Xóa Toàn Bộ Xâu S2 Khỏi Xâu S1 - YouTube
-
Câu1: " Viết Chương Trình Nhập Vào Xâu. Thực Hiện Các Câu Lệnh Sau :