C++ string替换指定字符实例代码

前言

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

运行结果如下:

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • C++ 中String 替换指定字符串的实例详解

    C++ 中String 替换指定字符串的实例详解 C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事. 首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么? 可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现, 代码如

  • C++ string替换指定字符实例代码

    前言 C++的string提供了replace方法来实现字符串的替换,但是有时候我们想要实现类似JAVA中的替换功能--将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现. 不过只要再深入了解一下STL,就可以在变易算法中找到解决方案--使用#include<algorithm>中的replace算法即可. 测试代码如下: #include<algorithm> #include<string> #include<io

  • C++ string 字符串查找匹配实例代码

    在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C++:#inlcude<string> C: #include<string.h> find():在一个字符串中查找一个指定的单个字符或字符数组.如果找到,就返回首次匹配的开始位置:如果没有查找到匹配的内容,就返回string::npos. find_first_of():在一个目标串

  • JS将指定的某个字符全部转换为其他字符实例代码

    var str = "pig cat fish.dog horse monkey bear.lion.fox"; 笔者在这里定义了一个字符串 如果使用for循环遍历字符串,内部使用replace函数的话 for (j = 0; j <= str.length; j++) { if (str.charAt(j) == "o") { str.replace("o", "*"); } } 像上面这样 因为replace是有返回

  • JS利用正则配合replace替换指定字符

    定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) 参数 描述 regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值 一个新的字符串,是用 repl

  • asp.net高效替换大容量字符实现代码

    一般进行替换操作都这样: 复制代码 代码如下: str=str.replace(字符串一,字符串二) 不难发现一个问题,如果str要循环替换很多次,下一次替换时会累加上上次替换的内容,并且全遍历一次,如果字符串二很多,替换的过程就像阶梯效果,越来越大,所以速度越来越慢.要解决这个问题只能找另外的方法替换这种表达方式. 如何以更高效率代替这种操作? 思路如下: 每次替换完后,在下次替换时先排除这次替换的内容,累加本次替换的内容. 复制代码 代码如下: public Regex returnMatc

  • C++ STL之string的模拟实现实例代码

    目录 前言 构造函数 析构函数 拷贝构造函数 operator=赋值运算符重载 c_str operator[] size() capacity() empty() operator+= 扩容函数(reserve) resize() push_back() append() insert() erase() find() 1.查找一个字符 2.查找一个字符串 substr() 比较大小函数 总结 前言 上一章我们对string的常见接口及使用进行了讲解,接下来我们将对一些常见的接口,包括构造函数

  • 使用C#的正则表达式验证中文字符(实例代码)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace 正则表达01 { /// <summary> /// 表达是否是字符是不是中文 /// </summary&g

  • JSP上传文件到指定位置实例代码

    Servlet 代码: 复制代码 代码如下: /** 直接取上传的File */ public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  String targetPath = request.getRealPath(request.getContextPath()); // 目标存储路径,服务器部署目录下  req

  • window.print打印指定div实例代码

    首先我们可以把要打印的内容放在div中,然后用下面的代码进行打印. 复制代码 代码如下: <html><head><script language="javascript">function printdiv(printpage){var headstr = "<html><head><title></title></head><body>";var foot

随机推荐