#include <iostream>
#include <string>
static std::string ReplaceAll(std::string result, const std::string& src, const std::string& dest)
{
size_t pos = 0;
if (src == dest)
return result;
while ((pos = result.find(src, pos)) != std::string::npos)
{
result.replace(pos, src.size(), dest);
pos += dest.length();
}
return result;
}
int main()
{
std::cout << ReplaceAll("tetestst", "test", "") << std::endl;
std::cout << ReplaceAll(" something with many spaces ", " ", " ") << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKc3RhdGljIHN0ZDo6c3RyaW5nIFJlcGxhY2VBbGwoc3RkOjpzdHJpbmcgcmVzdWx0LCBjb25zdCBzdGQ6OnN0cmluZyYgc3JjLCBjb25zdCBzdGQ6OnN0cmluZyYgZGVzdCkKewoJc2l6ZV90IHBvcyA9IDA7CgoJaWYgKHNyYyA9PSBkZXN0KQoJCXJldHVybiByZXN1bHQ7CgoJd2hpbGUgKChwb3MgPSByZXN1bHQuZmluZChzcmMsIHBvcykpICE9IHN0ZDo6c3RyaW5nOjpucG9zKQoJewoJCXJlc3VsdC5yZXBsYWNlKHBvcywgc3JjLnNpemUoKSwgZGVzdCk7CgkJcG9zICs9IGRlc3QubGVuZ3RoKCk7Cgl9CgoJcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKQp7CglzdGQ6OmNvdXQgPDwgUmVwbGFjZUFsbCgidGV0ZXN0c3QiLCAidGVzdCIsICIiKSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgUmVwbGFjZUFsbCgiICBzb21ldGhpbmcgICB3aXRoICAgbWFueSBzcGFjZXMgICIsICIgICIsICIgIikgPDwgc3RkOjplbmRsOwoJCglyZXR1cm4gMDsKfQ==