1. ホーム
  2. c++

[解決済み] 標準文字列で検索/検索と置換を行うには?

2022-11-10 01:55:05

質問

の部分文字列の出現箇所をすべて別の文字列に置き換える方法はありますか? std::string ?

例えば

void SomeFunction(std::string& str)
{
   str = str.replace("hello", "world"); //< I'm looking for something nice like this
}

どのように解決するのですか?

独自の置き換えを実装してみませんか?

void myReplace(std::string& str,
               const std::string& oldStr,
               const std::string& newStr)
{
  std::string::size_type pos = 0u;
  while((pos = str.find(oldStr, pos)) != std::string::npos){
     str.replace(pos, oldStr.length(), newStr);
     pos += newStr.length();
  }
}