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

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


ที่นี่เราจะมาดูวิธีการแทนที่ส่วนหนึ่งของสตริงด้วยสตริงอื่นใน C++ ใน C ++ การแทนที่ทำได้ง่ายมาก มีฟังก์ชันที่เรียกว่า string.replace() ฟังก์ชันการแทนที่นี้จะแทนที่เฉพาะการเกิดขึ้นครั้งแรกของการแข่งขัน เพื่อทำทั้งหมดเราใช้ลูป ฟังก์ชันการแทนที่นี้ใช้ดัชนีจากตำแหน่งที่จะแทนที่ ใช้ความยาวของสตริง และสตริงที่จะวางในตำแหน่งของสตริงที่ตรงกัน

Input: A string "Hello...Here all Hello will be replaced", and another string to replace "ABCDE"
Output: "ABCDE...Here all ABCDE will be replaced"

อัลกอริทึม

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>
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;
   //replace all Hello with welcome
   while((index = my_str.find("Hello")) != string::npos) {    //for each location where Hello is found
      my_str.replace(index, sub_str.length(), sub_str); //remove and replace from that position
   }
   cout << "Final String :" << my_str;
}

ผลลัพธ์

Initial String :Hello...Here all Hello will be replaced
Final String :ABCDE...Here all ABCDE will be replaced