In this C++ tutorial, you will learn how to replace a substring in a string with new replacement using std::string::replace() function, with example programs.
C++ String Replace
To replace part of a string that starts at given position and spans a specific length in the main string with a new string, you can use std::string::replace() function.
Syntax of std::string::replace()
Following is the syntax of std::string::replace() method.
std::string &std::string::replace(std::size_t __pos, std::size_t __n1, const char *__s)
where:
__posis the index of first character to replace.__n1is the number of characters to be replaced.__sis the new string to insert.
replace() method modifies the string in-place and also returns reference to this modified string.
Example – Replace Part of String with Another String
In this example, we shall take a string "Hello user! Good morning." and replace the part of this string that starts at position 10, and spans a length of 5, with new string "ooo".
C++ Program
#include <iostream>
using namespace std;
int main() {
string str = "Hello user! Good morning.";
str.replace(10, 5, "ooo");
cout << str << endl;
}
Output
Hello useroood morning.
Example – Replace String without Modifying Original String
In this example, we shall take a string "Hello user! Good morning." and replace the part of this string that starts at position 10, and spans a length of 5, with new string "ooo".
As replace() method modifies the string in-place, we have to make a copy of the original string by some means. We will use substr() method. substr() method() with starting position as 0 returns a copy of the original string. We shall then apply replace() method on this string copy.
C++ Program
#include <iostream>
using namespace std;
int main() {
string str = "Hello user! Good morning.";
string str1 = str.substr(0).replace(10, 5, "ooo");
cout << str << endl;
cout << str1 << endl;
}
Output
Hello user! Good morning.
Hello useroood morning.
Conclusion
In this C++ Tutorial, we learned the syntax of replace() function, and how to use it, with the help of example C++ programs.
