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ể:
|
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() + i
Trong đó 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ể:
|
Kết quả:
Helo World |
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ể:
|
Kết quả:
Hlo World |
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/
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>16. string trong c++