C++ 字符串 replace()
此函数用于替换字符串中从字符位置pos开始,跨越len个字符的部分。
语法
考虑两个字符串str1和str2。语法如下:
str1.replace(pos,len,str2);
参数
- str : str是一个字符串对象,其值将被复制到另一个字符串对象中。
- pos : pos定义了要替换的字符的位置。
- len : 要用另一个字符串对象替换的字符数。
- subpos : 它定义了要复制到另一个对象作为替换的字符串对象的第一个字符的位置。
- sublen : 要复制到另一个字符串对象的字符串对象的字符数。
- n : 要复制到另一个字符串对象的字符数。
返回值
该函数不返回任何值。
示例1
第一个示例展示了如何使用位置和长度作为参数来替换给定的字符串。
#include<iostream>
using namespace std;
int main()
{
string str1 = "This is C language";
string str2 = "C++";
cout << "Before replacement, string is :"<<str1<<'\n';
str1.replace(8,1,str2);
cout << "After replacement, string is :"<<str1<<'\n';
return 0;
}
输出:
Before replacement , string is This is C language
After replacement, string is This is C++ language
示例2
第二个示例展示了如何使用要复制到另一个字符串对象的字符串的位置和长度来替换给定的字符串。
#include<iostream>
using namespace std;
int main()
{
string str1 ="This is C language"
string str3= "java language";
cout <<"Before replacement, String is "<<str1<<'\n';
str1.replace(8,1,str3,0,4);
cout<<"After replacement,String is "<<str1<<'\n';
return 0;
}
输出:
Before replacement, String is This is C language
After replacement, String is This is java language
示例3
第三个示例演示了如何使用字符串和要复制的字符数作为参数来替换字符串。
#include<iostream>
using namespace std;
int main()
{
string str1="This is C language";
cout<<"Before replacement,string is"<<str1<<'\n';
str1.replace(8,1,"C##",2);
cout<<"After replacement,string is"<<str1;
return 0;
}
输出:
Before replacement,string is This is C language
After replacement,string is This is C# language