Thay thế chuỗi string trong C++ | Laptrinhcanban.com

Thay thế chuỗi string trong C++

Hướng dẫn cách thay thế chuỗi string trong C++. Bạn sẽ học được cách sử dụng hàm replace để thay thế chuỗi string trong C++ sau bài học này.

Hàm replace trong C++

Hàm replace là một hàm thành viên trong class std:string, có tác dụng thay thế một phạm vi trong string ban đầu bằng một nội dung mới. Phép thay thế chuỗi string bằng hàm replace sẽ làm thay đổi string ban đầu.

Cú pháp của hàm replace trong C++ như sau:

base.replace(pos,len,str)

Trong đó:

  • base là chuỗi ban đầu
  • pos là vị trí bắt đầu thay thế Nếu lược bỏ pos thì sẽ tiến hành thay thế từ đầu string.
  • len là số ký tự của phạm vi cần thay thế tính từ vị trí pos.
  • str là chuỗi ký tự dùng để thay thế phạm vi ở trên

Hàm replace sẽ thay thế một phạm vi bắt đầu từ vị trí pos và có độ dài len ký tự, bằng nội dung mới là chuỗi str, và trả về chuỗi ban đầu sau khi đã được thay thế.

Lưu ý là độ dài của phạm vi cần thay thế và của chuỗi dùng để thay thế có thể khác nhau, và hàm replace sẽ làm thay đổi trực tiếp giá trị của chuỗi string ban đầu.

Thay thế một chuỗi ký tự tại phạm vi chỉ định trong string C++ bằng hàm replace

Chúng ta sử dụng cú pháp đầy đủ của hàm replace để thay thế ký một chuỗi ký tự tại phạm vi chỉ định trong string C++

Ví dụ chúng ta muốn thay thế chuỗi ký tự “School” tại vị trí thứ 5 và dài 6 ký tự trong chuỗi “Good School” bằng chuỗi “Day” chẳng hạn.

#include <iostream>
#include <cstring>
using namespace std;
int main(){

string base = "Good School";

base.replace(5, 6, "Day");
cout << base << endl;


return 0;
}

Kết quả:

Good Day

Thay thế ký tự tại vị trí chỉ định trong string C++ bằng hàm replace

Để thay thế ký tự tại vị trí chỉ định trong string C++, chúng ta chỉ định đối số độ dài len bằng 1 là xong.

Ví dụ chúng ta muốn thay thế ký tự “o” tại vị trí thứ 2 trong chuỗi “Good School” bằng chuỗi “AAA” chẳng hạn.

#include <iostream>
#include <cstring>
using namespace std;
int main(){

string base = "Good School";

base.replace(2, 1, "AAA");
cout << base << endl;


return 0;
}

Kết quả:

GoAAAd School

Thay thế toàn bộ ký tự trong string trong C++ bằng hàm replace

Để thay thế toàn bộ ký tự trong string trong C++, chúng ta chỉ định phạm vi thay thế là toàn bộ chuỗi ban đầu, với vị trí bắt đầu pos bằng 0, và độ dài len bằng chính độ dài chuỗi ban đầu.

Ví dụ chúng ta muốn thay thế toàn bộ ký tự trong chuỗi “Good School” bằng chuỗi “Bad boy” chẳng hạn.

#include <iostream>
#include <cstring>
using namespace std;
int main(){

string base = "Good School";

base.replace(0, base.length(), "Bad boy");
cout << base << endl;


return 0;
}

Kết quả:

Bad boy

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách thay thế chuỗi string trong C++ bằng hàm replace 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.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.