c++ - 如何用一个 (C++) 替换多个字符?
问题描述
我们有一个字符。我们需要将ab
char 中的所有字符替换为 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++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
}
推荐阅读
- ruby-on-rails - 如何设置来自 gmail 的密码重置电子邮件并获得许可?
- reactjs - 选择多个文件与 refs 反应
- mysql - MySQL 中的版本控制行
- css - 根据屏幕大小动态更改元素位置
- laravel - 无法在 Laravel 中检索对象属性
- vim - 如何使用vim缩进文本文件的偶数/奇数行
- java - 如何修复“java.sql.SQLException:数据库已关闭”问题
- random - 建模随机事件时的整数或双精度数
- python - 用“|”执行linux命令 和 Python 中的 "'\n'"
- python - ModuleNotFoundError:没有名为“apiclient”的模块