首页 > C/C++ > C++中,字符串替换
2010
01-28

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; 
}
最后编辑:
作者:dnybz
这个作者貌似有点懒,什么都没有留下。