如何在字符串中查找字符串并替换它?

时间:2010-11-17 22:13:31

标签: c++ string boost

我有一个std::string A我需要在其B字符串中找到bla-bla-bla等内容,并将其替换为C之类的其他字符串abcdefg找不到B只是将C放在A的开头。

怎么做这样的事情?

2 个答案:

答案 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);

您可能想要添加错误检查; - )