C++ string split()和 replaceAll()

C++ string split()和 replaceAll(),第1张

概述C++ string split()和 replaceAll()

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

#include "stdafx.h"#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 _tmain(int argc,_TCHAR* 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; }

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的C++ string split()和 replaceAll()全部内容,希望文章能够帮你解决C++ string split()和 replaceAll()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存