Ở đây chúng ta sẽ thấy cách thay thế chuỗi con bằng một chuỗi con khác. Hàm này thay thế phần của chuỗi bắt đầu tại vị trí pos và trải dài len ký tự.
Cấu trúc của hàm replace như sau:
string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);
Các tham số là pos: Điểm chèn, str: Đối tượng chuỗi, len: Số ký tự cần xóa.
Thuật toán
Bước 1: Lấy chuỗi chính, chuỗi sẽ bị thay thế. Và chuỗi khớp
Bước 2: Khi chuỗi khớp hiện diện trong chuỗi chính:
Bước 2.1: Thay thế nó bằng chuỗi cho trước.
Bước 3: Trả về chuỗi đã sửa đổiMã ví dụ
#include <iostream>
#include <string>
using namespace std;
int main() {
string base = "this is a test string.";
string str2 = "n example";
string str3 = "sample phrase";
string str4 = "useful.";
string str = base;
str.replace(9, 5, str2);
str.replace(19, 6, str3, 7, 6);
str.replace(8, 10, "just a");
str.replace(8, 6, "a shorty", 7);
str.replace(22, 1, 3, '!');
str.replace(str.begin(), str.end()-3, str3);
str.replace(str.begin(), str.begin()+6, "replace");
str.replace(str.begin()+8, str.begin()+14, "is coolness", 7);
str.replace(str.begin()+12, str.end()-4, 4, 'o');
str.replace(str.begin()+11, str.end(), str4.begin(), str4.end());
cout << str << '\n';
return 0;
}Kết quả
replace is useful.