C++ 如何在字符串中查找字符串并替换它?
我有一个C++ 如何在字符串中查找字符串并替换它?,c++,string,boost,C++,String,Boost,我有一个std::string a我需要在其中找到字符串B和bla-bla-bla之类的内容,并用其他字符串C替换它,比如abcdefg,如果找不到B,只需将C放在a的开头 怎么做这样的事 A.replace(str.find(B), B.length(), C); 您可能需要添加错误检查;-) 当你有一些url,你想让它使用类似“rtmp://”的东西而不是“http://”时,它是完全使用的。当然,你知道是不是“http://”)你看过string::replace和string::fin
std::string a
我需要在其中找到字符串B
和bla-bla-bla
之类的内容,并用其他字符串C
替换它,比如abcdefg
,如果找不到B
,只需将C
放在a
的开头
怎么做这样的事
A.replace(str.find(B), B.length(), C);
您可能需要添加错误检查;-) 当你有一些url,你想让它使用类似“rtmp://”的东西而不是“http://”时,它是完全使用的。当然,你知道是不是“http://”)你看过string::replace和string::find了吗?+1/听起来很有逻辑,但最好把b和c作为
const std::string&
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);
}
}