string字符串替换

MFC中CString有Replace()函数可以替换字符穿中所有字符的功能,而std::string却没有,但我们可以自己进行实现:

#include <iostream>
#include <string>

using namespace std;

void string_replace(string& pstr, string pstrold, string pstrnew)
{
    string::size_type nfind = 0;
    do
    {
        nfind = pstr.find(pstrold,nfind);
        if(nfind != string::npos)
        {
            pstr.replace(nfind,pstrold.length(),pstrnew);
            nfind += pstrnew.length();
        }
        else
        {
            break;
        }
    }
    while(nfind!=string::npos);
}

int main()
{

    string l_str = "testakdkdltesttest123testmy";
    string_replace(l_str,"test","");
    cout<<" replace string:"<<l_str<<endl;

    return 0;
}

猜你喜欢

转载自blog.csdn.net/ancktion/article/details/81185019