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++版: 感谢阅读,希望能帮助到大家,谢谢大