日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C++字符串分割替换 ubuntu版本

發布時間:2023/12/3 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++字符串分割替换 ubuntu版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> #include <string> #include <vector> using namespace std; vector<string> mySplit(const string& str,string sp_string) // split(),str 是要分割的string { vector<string> vecString; int sp_stringLen = sp_string.size(); int lastPosition = 0; int index = -1; while(-1 != (index=str.find(sp_string,lastPosition))) { vecString.push_back(str.substr(lastPosition,index - lastPosition)); lastPosition = index +sp_stringLen; } string lastStr = str.substr(lastPosition); if ( !lastStr.empty() ) { vecString.push_back(lastStr); } return vecString; } string myReplaceAll(const string& str,string org_str,string rep_str) // 把org_str 替換為rep_str; { vector<string> delimVec = mySplit(str,org_str); if (delimVec.size() <= 0) { cout<<"can not find"<<endl; return str; } string target(""); vector<string>::iterator it = delimVec.begin(); for (; it != delimVec.end(); ++it) { target = target + (*it)+ rep_str; } //target = target +(*it); return target; } // 把org_strVec中的string全部替換為rep_str; string myReplaceAll(const string& str,vector<string>& org_strVec,string rep_str) { vector<string>::iterator org_it = org_strVec.begin(); string org_str(""); string target = str; string strTarget = str; for (; org_it != org_strVec.end(); ++org_it) { org_str = *org_it; vector<string> delimVec = mySplit(strTarget,org_str); target = ""; if (delimVec.size() > 0) { vector<string>::iterator it = delimVec.begin(); for (;it != delimVec.end(); ++it) { target = target + (*it) +rep_str; } strTarget = target; } } return strTarget; } int main(int argc,char* argv[]) { string str = "ewrsdrtwrtsdfsdsdfrtfgsdfertgdffgertsdfsd"; string splitStr = "sd"; string replaceStr1 = "mmmm"; string replaceStr2 = "xxxx"; vector<string> strVec1 = mySplit(str,splitStr); for (vector<string>::iterator it = strVec1.begin(); it != strVec1.end(); ++it) { cout<< "!!! "<<*it<<endl; } string strX[] = {"wr","rt"}; vector<string> strVec2 (strX,strX + sizeof(strX)/sizeof(strX[0])); cout << strVec2[0]<<"13q3224"<<strVec2[1]<<endl; str = myReplaceAll(str,splitStr,replaceStr1); str = myReplaceAll(str,strVec2,replaceStr2); cout << str <<"~~~~~"<<endl; return 0; }

編譯:
g++ -std=c++11 -o test test.cpp
運行:

!!! ewr !!! rtwrt !!! f !!! !!! frtfg !!! fertgdffgert !!! f wr13q3224rt exxxxmmmmxxxxxxxxtmmmmfmmmmmmmmfxxxxfgmmmmfexxxxgdffgexxxxmmmmfmmmmxxxxxxxx~~~~~

總結

以上是生活随笔為你收集整理的C++字符串分割替换 ubuntu版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。