我有一个std::string A
我需要在其B
字符串中找到bla-bla-bla
等内容,并将其替换为C
之类的其他字符串abcdefg
找不到B
只是将C
放在A
的开头。
怎么做这样的事情?
答案 0 :(得分:4)
void replace_or_merge(std::string &a, const std::string &b, const std::string &c)
{
const std::string::size_type pos_b_in_a = a.find(b);
if(pos_b_in_a == std::string::npos) {
a.insert(0, c);
}
else {
a.replace(pos_b_in_a, b.length(), c);
}
}
答案 1 :(得分:2)
A.replace(str.find(B), B.length(), C);
您可能想要添加错误检查; - )