Заменить строку в C++

Есть строка

e.NEED_VERIFICATION=!0,e.VERSION="v0.3 (beta)",e.TEST_MODE=

Нужно найти в этой строке

e.VERSION="v<some text>"

Заменить <some text> на нужную строку например на "1.2.3"

Итог: e.VERSION="v1.2.3"


Ответы (1 шт):

Автор решения: Harry

Ну вот, без всякой тяжелой артиллерии в виде regex...

string s = R"==(e.NEED_VERIFICATION=!0,e.VERSION="v0.3 (beta)",e.TEST_MODE=)==";

int main(int argc, const char * argv[])
{
    size_t start = s.find("e.VERSION=\"v");
    if (start != s.npos)
    {
        size_t stop =s.find("\"",start+12);
        if (stop != s.npos)
        {
            s.replace(start+12,stop-(start+12),"1.2.3");
            cout << s << endl;
        }
    }
}
→ Ссылка