среда, 15 февраля 2012 г.

C++. Замена в строке

Решением может быть такая функция:
#include <string>

using std::string;

...

void replaceInString(string &str,
                     const string &str1,
                     const string &str2) {

    size_t n = 0;

    while ( (n = str.find(str1)) != string::npos ) {

        str.replace(n, str1.length(), str2);
    }
}

...
UPD 25.02.2015
Хотя можно просто воспользоваться std::replace. Приведем пример с заменой запятой на точку.
#include <algorithm>
...
using std::replace;
...
replace(str.begin(), str.end(), ',', '.');
...

Комментариев нет:

Отправить комментарий