[c++]字符串替换函数

在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;
}

posted @ 2009-07-05 15:56  林杰的博客  阅读(6769)  评论(0编辑  收藏  举报