西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发VC|VC++ → c++实现字符串的替换replace函数

c++实现字符串的替换replace函数

相关软件相关文章发表评论 来源:西西整理时间:2012/9/23 9:22:09字体大小:A-A+

作者:西西点击:519次评论:0次标签: replace

Actual Search and Replace(文件搜索)2.8.6 汉化绿色特别版
  • 类型:搜索比较大小:398KB语言:中文 评分:5.0
  • 标签:
立即下载

用过python的朋友应该知道,python的string中有个replace函数,其功能是实现字符串的替换,默认情况下是替换所有,如果加入参数的话会根据设定的个数进行替换,比如下面的例子:

>>> import string

>>> str1 = "ab1ab2ab3ab4"

>>> print string.replace(str1,"ab","cd")

cd1cd2cd3cd4

>>> print string.replace(str1,"ab","cd",1)

cd1ab2ab3ab4

>>> print string.replace(str1,"ab","cd",2)

cd1cd2ab3ab4

>>>

在c++中,我也想这么用……暂时还没找到现成的,就自己写了个。

这里贴出来函数的代码,也方便我以后使用:

std::string m_replace(std::string str,std::string pattern,std::string dstPattern,int count=-1)
{
    std::string retStr="";
    string::size_type pos;

    int szStr=str.length();
    int szPattern=pattern.size();
    int i=0;
    int l_count=0;
    if(-1 == count) // replace all
        count = szStr;

    for(i=0; i<szStr; i++)
    {
        pos=str.find(pattern,i);

        if(std::string::npos == pos)
            break;
        if(pos < szStr)
        {
            std::string s=str.substr(i,pos-i);
            retStr += s;
            retStr += dstPattern;
            i=pos+pattern.length()-1;
            if(++l_count >= count)
            {
                i++;
                break;
            }
        }
    }
    retStr += str.substr(i);
    return retStr;
}

好,就这些了,希望对你有帮助。

    文件搜索
    (16)文件搜索
    西西软件园提供好用的文件搜索工具,微软自带的文件搜索工具速度慢的令人发指,我们只能靠第三方搜索工具来搜索文件,一般的第三方文件搜索工具速度都很快,百硬盘几十万个文件,可以在几秒钟之内完成索引,文件名搜索瞬间呈现结果。...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)