C/C++之字符替换(利用正则表达式)

C/C++之字符替换方法(利用正则表达式)

在编程中,我们有不少需要对字符/字符串进行匹配的场景。如果利用循环体来进行查找匹配,对于数据量比较少的功能还可以实现,但是如果对于数据量比较大的场景,那么其所消耗的时间,将会让人难以接受。
本文将对如何利用正则表达式来进行字符匹配来进行探讨。
之前,我已经写过正则表达式的表达规则,再次便步过多赘述。有兴趣的可以自行查看。
正则表达式规则:传送门

C++标准库<regex.h>

C++提供了官方库regex.h,之所以以次为例,方便开发时,使用不同的工具进行开发,例如QT如果不了解QT提供的QTRegex时,使用C++标准库就能更快的开发。
本文主要涉及regex_replace函数的使用。

replace是替换匹配,即可以将符合匹配规则的子字符串替换为其他字符串。

regex_replace函数一共包含三个参数:
参数一:需要被搜索替换的元字符串
参数二:正则表达式元素
参数三:被替换后的字符串。
一个简单的示例:

#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
    string str = "Mely Lenient Is A Bad Programmer!";
    regex pattern("Bad");
    cout << regex_replace(str, pattern, "Good") << endl;
    return 0;
}

运行结果如图所示:
在这里插入图片描述
接下来出个题:
1、通过灵活输入原字符串,需要替换的字符换,需要被替换的字符串,并输出结果。
2、读取文件,并对文件中的数据进行替换。
后天更新题解!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值