C++中replace()函数,常与find()函数一块用于替换指定字符,下面介绍常用方法:
一、用字符串s替换从下标pos开始长度为len的字符,str.replace(pos, len, s)。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str = "b%ab&ba#$ba@b";
string s = "fly";
s = str.replace(0,3,s);
cout << s << endl; //输出 flyb&ba#$ba@b
return 0;
}
与find函数一块使用,用于替换指定字符
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str("b%ab&me#$ba@b");
string a, b;
a = str.replace(str.find("%"),1,"*");
cout << a << endl; //输出 b*ab&me#$ba@b
string s("take you fly");
b = s.replace(s.find("you"),3,"me");
cout << b << endl; //输出 take me fly
return 0;
}
二、用n个字符ch替换从下标pos开始长度为len的字符,str.replace(pos, len, ch, n)。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str = "sugar%ab&ba#$ba@b";
string s = str.replace(5,3,6,'x');
cout << s << endl; //输出sugarxxxxxx&ba#$ba@b
return 0;
}