国产探花免费观看_亚洲丰满少妇自慰呻吟_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,這樣的話,任務就完成啦。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗田县| 承德市| 报价| 广河县| 台前县| 阿坝县| 华宁县| 宝兴县| 青田县| 武川县| 顺义区| 六盘水市| 汤原县| 高台县| 鄂托克前旗| 自治县| 平江县| 阳泉市| 穆棱市| 徐州市| 汶上县| 和静县| 墨玉县| 南宁市| 大安市| 丁青县| 福安市| 玛曲县| 宣化县| 石狮市| 乌恰县| 奇台县| 仁怀市| 志丹县| 中阳县| 屏南县| 西林县| 山阳县| 浮梁县| 获嘉县| 临洮县|