基于C++字符串替换函数的使用详解
更新时间:2013年05月17日 17:49:50 作者:
本篇文章是对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;
}
[函数]
复制代码 代码如下:
/**
* @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;
}
相关文章
C++ 中boost::share_ptr智能指针的使用方法
这篇文章主要介绍了C++ 中boost::share_ptr智能指针的使用方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下2017-10-10
最新评论