欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

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

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

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

C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。

首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?

可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现,

代码如下:

#include  <string>   
#include  <iostream>   
using  namespace  std;   
string&  replace_all(string&  str, const string& old_value, const string& new_value)   
{   
  while(true)  
  {   
    string::size_type  pos(0);   
    if(  (pos=str.find(old_value)) != string::npos  )   
     { 
   str.replace(pos,old_value.length(),new_value); 
 }  
    else { break; }
  }   
  return  str;   
}   

string&  replace_all_distinct(string&  str, const string& old_value, const  string&  new_value)   
{   
  for(string::size_type  pos(0);  pos!=string::npos;  pos+=new_value.length()) 
  {   
    if(  (pos=str.find(old_value,pos)) != string::npos  )   
     { 
   str.replace(pos,old_value.length(),new_value); 
 }  
    else { break; }  
  }   
  return  str;   
}   

int  main()   
{   
  cout  <<  replace_all(string("12212"),"12","21")  <<  endl;   
  cout  <<  replace_all_distinct(string("12212"),"12","21")  <<  endl;   
}   
/* 
输出如下:  
22211  
21221 
*/ 

OK,这样的话,任务就完成啦。

其实大家可能对本博经常写一些这样的小程序不解,但是我总觉得,一些看起来微不足道的东西,往往在关键的时刻,影响你的效率或者业绩,

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:详解C++ 编写String 的构造函数、拷贝构造函数、析构函数和赋值函数

栏    目:C语言

下一篇:C++ Coroutine简单学习教程

本文标题:C++ 中String 替换指定字符串的实例详解

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1226.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有