当前位置: 首页 > 编程笔记 >

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

孔光赫
2023-03-14
本文向大家介绍C++ 中String 替换指定字符串的实例详解,包括了C++ 中String 替换指定字符串的实例详解的使用技巧和注意事项,需要的朋友参考一下

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++中string替换所有指定字符串的方法的使用技巧和注意事项,需要的朋友参考一下 C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。 首先明白一个概念,即string替换所有字符串,将”12212″这个字符串的所有”12

  • 问题内容: 这个简单的代码仅尝试用冒号替换分号(在i指定的位置)不起作用: 它给出了错误 如何解决此问题,以冒号代替分号?使用replace不起作用,因为该函数不占用索引-可能有一些我不想替换的分号。 例 在字符串中,我可能有许多分号,例如 我知道我想替换哪些(我在字符串中有索引)。使用替换无法正常工作,因为我无法对其使用索引。 问题答案: python中的字符串是不可变的,因此你不能将它们视为列

  • 本文向大家介绍C#自定义字符串替换Replace方法实例,包括了C#自定义字符串替换Replace方法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#自定义字符串替换Replace方法。分享给大家供大家参考。具体实现方法如下: 一、问题: 前一阵遇到一个如标题的算法题,是将原有字符串的某些片段替换成指定的新字符串片段,例如将源字符串:abcdeabcdfbcdefg中的cde替换成

  • 假设有一段文本里面有很多错误,如错别字。现在使用 Java 中的字符串替换方法对它进行批量修改和纠正,其中就用到了我们在《 Java字符串的替换》一节中学到的 String 类的 replace() 方法、replaceFirst() 方法和 replaceAll() 方法。 创建一个 Java 类,然后在主方法 main() 中编写代码,具体代码如下所示。 运行该程序,输出的正确字符串内容如下:

  • 本文向大家介绍C++/C 回文字符串的实例详解,包括了C++/C 回文字符串的实例详解的使用技巧和注意事项,需要的朋友参考一下 C++/C回文字符串的实例详解 判断输入的字符串是不是回文字符串,正反读一样。 .C版 getchar()函数依次获取一个输入,并赋给char型变量a,再通过a赋给char型数组he[]。 当输入“\n”即回车时,跳出循环。 C++版: 感谢阅读,希望能帮助到大家,谢谢大