Kỹ thuật điện tử & Điện lạnh

Cách Xóa ký tự trong string C++ Hướng Dẫn Nhiều Cách làm kiến thức mới năm 2023

Cách Xóa ký tự trong string C++ Hướng Dẫn Nhiều Cách làm – Cập nhật kiến thức mới nhất năm 2023

 

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 giải 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 .

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ự ở đầu cuối trong string chứ không trả về ký tự đó. Trong trường hợp muốn lấy ký tự ở đầu cuối trong string, hãy sử dụng tới hàm back để thay thế sửa chữa .

Ví dụ cụ thể:



int main ()
{
  std::string str ("Hello world");
  str.pop_back();
  std::cout << str;
  return 0;
}

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ính năng giống như con trỏ, giúp truy vấn đến những ký tự ở vị trí đơn cử trong string .Trong trường hợp cần chỉ đến vị trí index thứ n trong string, tất cả 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ể:


using namespace std;
int main ()
{
    string str("Hello World");
    str.erase(str.begin() + 2);
    cout << str<<endl;

    str.erase(str.begin() + 6);
    cout << str;
    return 0;
}
</endl;

Kết quả:

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 những ký tự trong một khoanh vùng 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_firstiterator_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 đó startend là vị trí index của phạm vi xóa trong string.

Ví dụ cụ thể:


using namespace std;
int main ()
{
    string str("Hello World");

    
    str.erase(str.begin() + 1, str.begin() + 3);
    cout << str<<endl;

    
    str.erase(str.begin() + 2, str.begin() +5);
    cout << str;
    return 0;
}
</endl;

Kết quả:

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 khám phá những kỹ năng và kiến thức sâu hơn về C + + trong những bài học kinh nghiệm tiếp theo .

Kết thúc
Ngoài các bài viết tin tức, bài báo hàng ngày của https://www.kythuatcodienlanh.com/, nguồn nội dung cũng bao gồm các bài viết từ các cộng tác viên chuyên gia đầu ngành về chuỗi kiến thức kỹ thuật điện, điện lạnh, điện tử, cơ khí,…,.. được chia sẽ chủ yếu từ nhiều khía cạnh liên quan chuỗi kiến thức này.
Bạn có thể dành thời gian để xem thêm các chuyên mục nội dung chính với các bài viết tư vấn, chia sẻ mới nhất, các tin tức gần đây từ chuyên gia và đối tác của Chúng tôi. Cuối cùng, với các kiến thức chia sẻ của bài viết, hy vọng góp phần nào kiến thức hỗ trợ cho độc giả tốt hơn trong hoạt động nghề nghiệp cá nhân!
* Ý kiến được trình bày trong bài viết này là của tác giả khách mời và không nhất thiết phải là SEMTEK. Nhân viên tác giả, cộng tác viên biên tập sẽ được liệt kê bên cuối bài viết.
Trân trọng,
Các chuyên mục nội dung liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button