Заменить строку в 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;
}
}
}