C++的string提供了replace方法来实现字符串的替换,但是有时候我们想要实现类似JAVA中的替换功能——将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现。
不过只要再深入了解一下STL,就可以在变易算法中找到解决方案——使用#include<algorithm>中的replace算法即可。
测试代码如下:
#include<algorithm>
#include<string>
#include<iostream>using namespace std;
int main()
{
string str="123/421657/abcd///456789";cout << str << endl;
replace(str.begin(),str.end(),'/',' ');
cout << str << endl;
return 0;
}
运行结果如下:
可以看到,只要就实现了指定字符的替换。
需要注意的是,该方法只能将一个字符替换成另一个字符,即只能对单个字符进行操作。
文章评论