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++)

posted @   睡觉不困  阅读(1174)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示