字符串替换

来源:互联网 发布:js正则表达式可以为空 编辑:程序博客网 时间:2024/06/06 11:04
  #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     */  
0 0
原创粉丝点击