首页 > 解决方案 > 如何用一个 (C++) 替换多个字符?

问题描述

我们有一个字符。我们需要将abchar 中的所有字符替换为 letter c

我们有的例子:

abracadabra

输出将是:

cracadcra

我尝试使用replace()C++ 中的函数,但没有成功。

#include <iostream>
#include <cstring>
using namespace std;

int main()
  {
  string test;
  cin>>test;
  
  for(int i=0;i<(strlen(test)-1);i++)
  {
      if((test[i]=='a')&&(test[i+1]=='b')){
  test.replace( test[i], 'c' );
      test.replace( test[i+1] , ' ' );     
      }
  }
  cout << test << endl;
  return 0;
  }enter code here

标签: c++

解决方案


您可以使用 C++11 正则表达式:

#include <iostream>
#include <regex>
#include <string>

int main() {
  std::string str = "abracadabra";
  std::regex r("ab");
  std::cout << std::regex_replace(str, r, "c") << "\n"; // cracadcra
}

推荐阅读