string 字符串替换

原文地址:http://www.vimer.cn/2009/11/string%E6%9B%BF%E6%8D%A2%E6%89%80%E6%9C%89%E6%8C%87%E5%AE%9A%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%88c%EF%BC%89.html

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

  

                          

原文地址:https://www.cnblogs.com/wangkangluo1/p/2140371.html