ที่นี่เราจะดูวิธีการแทนที่สตริงย่อยด้วยสตริงย่อยอื่น มันแทนที่ส่วนของสตริงที่เริ่มต้นที่ pos อักขระและขยายอักขระ len
โครงสร้างของฟังก์ชันการแทนที่มีลักษณะดังนี้:
string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);
พารามิเตอร์คือ ตำแหน่ง :เป็นจุดแทรก str :เป็นวัตถุสตริง len :มีข้อมูลเกี่ยวกับจำนวนอักขระที่จะลบ
อัลกอริทึม
Step 1: Get the main string, and the string which will be replaced. And the match string Step 2: While the match string is present in the main string: Step 2.1: Replace it with the given string. Step 3: Return the modified string
โค้ดตัวอย่าง
#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;
} ผลลัพธ์
replace is useful.