Замена подстроки в std:wstring
10.01.2011Продолжаю публиковать серию сниппетов. На этот раз задача – заменить подстроку в строке wstring другой. Делается это так:
std::wstring strSource = L"this string is XXXX and YYYY";
size_t posn;
std::wstring replaceFrom = L"XXXX";
std::wstring replaceTo = L"SOMETHING";
posn = strSource.find( replaceFrom );
strSource.replace( posn, replaceFrom.length( ), replaceTo );
если надо заменить все вхождения, то последние две строки надо заменить на
while ( std::wstring::npos != ( posn = strSource.find( replaceFrom ) ) )
{
strSource.replace( posn, replaceFrom.length( ), replaceTo );
}
Надеюсь будет полезно.