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;
}

 

运行结果如下:

可以看到,只要就实现了指定字符的替换。

需要注意的是,该方法只能将一个字符替换成另一个字符,即只能对单个字符进行操作。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐