Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

แทนที่สตริงย่อยด้วยสตริงย่อยอื่น C++


ที่นี่เราจะดูวิธีการแทนที่สตริงย่อยด้วยสตริงย่อยอื่น มันแทนที่ส่วนของสตริงที่เริ่มต้นที่ 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.