ที่นี่เราจะดูวิธีแทนที่ส่วนของสตริงด้วยสตริงอีกตัวใน C++ การแทนที่ใน C++ ทำได้ง่ายมาก มีฟังก์ชันชื่อ string.replace() ฟังก์ชันนี้แทนที่เพียงครั้งแรกที่พบเท่านั้น เพื่อทำทั้งหมดเราใช้ลูป ฟังก์ชัน replace รับดัชนีที่จะเริ่มแทนที่ ความยาวของสตริง และสตริงที่จะวางแทนสตริงที่ตรงกัน
Input: สตริง "Hello...Here all Hello will be replaced" และสตริงแทนที่ "ABCDE" Output: "ABCDE...Here all ABCDE will be replaced"
อัลกอริทึม
ขั้นตอน 1: รับสตริงหลัก สตริงที่จะถูกแทนที่ และสตริงที่ตรงกัน
ขั้นตอน 2: ในขณะที่สตริงที่ตรงกันยังอยู่ในสตริงหลัก:
ขั้นตอน 2.1: แทนที่ด้วยสตริงที่กำหนด
ขั้นตอน 3: คืนค่าสตริงที่แก้ไขแล้ว
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
main() {
int index;
string my_str = "Hello...Here all Hello will be replaced";
string sub_str = "ABCDE";
cout << "Initial String :" << my_str << endl;
// แทนที่ Hello ทั้งหมดด้วย welcome
while((index = my_str.find("Hello")) != string::npos) {
// สำหรับแต่ละตำแหน่งที่พบ Hello
my_str.replace(index, sub_str.length(), sub_str); // ลบและแทนที่จากตำแหน่งนั้น
}
cout << "Final String :" << my_str;
}
ผลลัพธ์
Initial String :Hello...Here all Hello will be replaced Final String :ABCDE...Here all ABCDE will be replaced