c++字符串替换


#include <string>
#include <iostream>

using namespace std;

string m_replace(string strSrc,
                 const string &oldStr, const string &newStr,int count=-1)
{
    string strRet=strSrc;
    size_t pos = 0;
    int l_count=0;
    if(-1 == count) // replace all
        count = strRet.size();
    while ((pos = strRet.find(oldStr, pos)) != string::npos)
    {
        strRet.replace(pos, oldStr.size(), newStr);
        if(++l_count >= count) break;
        pos += newStr.size();
    }
    return strRet;
}

int main()
{
    string str1="ab1ab2ab3";
    string str2="ab";
    string str3="cd";
    string str4="cdefgh";

    cout<<m_replace(str1,str2,str3)<<endl;
    cout<<m_replace(str1,str2,str3,1)<<endl;
    cout<<m_replace(str1,str2,str4)<<endl;
    cout<<m_replace(str1,str2,str4,2)<<endl;

}

代码来源:字符串替换(C++)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM