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

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


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