用STL實現字串字串替換

來源:互聯網
上載者:User

題目描述:

給定一個字串str,將字串中的字串sub_str替換成rep_str

方法:使用string的成員函數replace與string的成員函數find實現該演算法,時間複雜度為O(n);

具體實現代碼為:

#include <iostream>#include <string>#include <cstring>using namespace std;const char *rep_str(const char *source, const char *rep, const char *partern){string str(source);int find=0, where=0;while((where=str.find(rep, find))!=string::npos) //從find處尋找,where為找到字串返回的位置{str.replace(where, strlen(rep), partern);//注意這裡的長度是被替換的字串的長度,而不是partern的長度find = strlen(partern)+where;//將下一次尋找字串的位置加上partern的長度}source=str.c_str();return source;}int main(void){    const char *ret = rep_str("We are happy", " ", "%20");cout << ret << endl;return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.