国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ 中String 替換指定字符串的實例詳解

2020-01-26 13:56:49
字體:
來源:轉載
供稿:網友

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,這樣的話,任務就完成啦。

其實大家可能對本博經常寫一些這樣的小程序不解,但是我總覺得,一些看起來微不足道的東西,往往在關鍵的時刻,影響你的效率或者業績,

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广德县| 双牌县| 凯里市| 烟台市| 深州市| 台中市| 油尖旺区| 湖南省| 迭部县| 宝兴县| 信丰县| 金秀| 威远县| 罗源县| 江达县| 岱山县| 思茅市| 吉首市| 获嘉县| 深泽县| 汝城县| 安康市| 甘谷县| 佳木斯市| 鸡东县| 阜康市| 舟山市| 图们市| 越西县| 蒲城县| 兖州市| 武夷山市| 海兴县| 内乡县| 合水县| 桂东县| 阿克陶县| 富源县| 台前县| 武宁县| 凤山县|