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、读取文件,并对文件中的数据进行替换。
后天更新题解!!!

更多推荐

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