c++ string replace

转载 2015年11月18日 13:49:43

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

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

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


#include   <</span>string>   
#include   <</span>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;   
}   

相关文章推荐

c++ string中的replace

将原string 中的元素或子串替换。返回替换后的string。  (1)用string 或C-string 代替操作string 中从 _Pos1 开始的 _Num1 个字符  basi...

c++中string 的replace用法

[cpp] view plain copy print? /*用法一:   *用str替换指定字符串从起始位置pos开始长度为len的字符   *string& replace (size...

c++ string 的函数replace()用法

basic_string::max_size  返回string 能放的最大元素个数。(不同于capacity)  size _ type max _ size( ) const;  ...

c++ string::replace用法

本文主要针对c++中常用replace函数用法给出样例程序 [cpp] view plaincopy /*用法一:   *用str替换指定字符串从...

c++: string 的函数replace()用法

basic_string::max_size 返回string 能放的最大元素个数。(不同于capacity) size _ type max _ size( ) const; ...

c# string Rmove Substring Replace

处理字符串的时候遇到一个 问题 去掉最后一个 字符,在之前从来没有单独的去学习  string 里面的一些方法 今天遇到了 所以总结了一下 方便以后查阅 同时也方便大家查阅 String.Remov...

String Remove() 和 Replace()

当对字符串进行操作时,我们经常要删除或者是替换一部分子字符串。 Remove() 和 Replace() 两个函数在这种情况就派上用场了。 Remove() – 删除一部分子字符串 我们都知道 sub...

string(字符串)类常用成员----增+,append,insert 删erase 改replace 查find 遍历 截取子串 字符串比较

头文件及命名空间::       #include       using namespace std;遍历使用下标类型:    ...

[LeetCode] A String Replace Problem

题目连接: 题目描述:其实就是将源字符串中与模式串匹配的部分都替换为特定的字符。如果有多个连续匹配,值替换成一个字符即可。 思路: 1、还是用一前一后的两个指针,前一个指针用于遍历,后一个指针用于修改...

JavaScript的String.replace函数参数应用实例

JavaScript String.replace函数作用是将源自符串中的match替换为replacement并返回替换后的字符串。 js String的replace函数的函数签名如下: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)