C++ cstring 查找和替换

c++ cstring find and replace

本文关键字:替换 查找 cstring C++      更新时间:2023-10-16

我有一个C++项目(Microsoft Visual C++ 2008(,该项目是几年前由我的一位同事开发的,我需要更新一些东西。

我有一个包含 json 的 CString,我需要查找并替换 **** 存在的 4 个连续数字的每个组合。

示例字符串

1234567 12 34 78 IIOI78ccc8888 AAASSD Dededeed

生成的字符串

****567 12 34 78 IIOi78CCC**** AAASSD Dededeed Ed

您能否建议一个可以有效地做到这一点的功能,它与Microsoft Visual C++ 2008完全兼容。

谢谢。

附言我的方法是使用 RegEX 查找 4 个连续数字的列表并替换它们,但Microsoft Visual C++ 2008 的支持有限 - 正如我正在阅读的那样。

手动编写这是非常简单的:

const int DIGIT_COUNT = 4;
int length = strlen(input);
int consecutiveDigits = 0;
for (int i = 0; i < length; ++i)
{
if (isDigit(input[i]))
consecutiveDigits++;
else
consecutiveDigits = 0;
if (consecutiveDigits == DIGIT_COUNT)
for (int j = 0; j < 4; ++j)
input[i - j] = '*';
}

添加一个isDigit(char)函数,你就很好了。