首页 > 编程 > C++ > 正文

基于C++字符串替换函数的使用详解

2020-01-26 16:11:15
字体:
来源:转载
供稿:网友
在C++中,字符串替换有很多方法,这里主要说一下STL里的WString中的替换,虽然WString自带了一个Replace函数,但是只能替换一次,太不好了,因此单独写了个替换函数
[函数]
复制代码 代码如下:

/**
        * @brief   实现字符串替换
        * @param   orignStr 源串
        * @param   oldStr  查找的串
        * @param   newStr  替换的新串
        * @return  返回修改后的串
        */
        static wstring Replace(const wstring& orignStr, const wstring& oldStr, const wstring& newStr);

[实现]
复制代码 代码如下:

std::wstring Replace( const wstring& orignStr, const wstring& oldStr, const wstring& newStr )
{
    size_t pos = 0;
    wstring tempStr = orignStr;
    wstring::size_type newStrLen = newStr.length();
    wstring::size_type oldStrLen = oldStr.length();
    while(true)
    {
        pos = tempStr.find(oldStr, pos);
        if (pos == wstring::npos) break;
        tempStr.replace(pos, oldStrLen, newStr);        
        pos += newStrLen;
    }
    return tempStr;
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表