用正则表达式去除不可打印字符c++
时间: 2023-07-12 14:51:43 浏览: 123
可以使用正则表达式去除不可打印字符,以下是 C++ 代码示例:
```cpp
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string str = "Hello,\nworld!\t";
std::regex pattern(R"([\x00-\x1F\x7F-\xFF])"); // 匹配不可打印字符
std::string result = std::regex_replace(str, pattern, ""); // 去除不可打印字符
std::cout << result << std::endl; // 输出 "Hello,world!"
return 0;
}
```
在正则表达式中,`[\x00-\x1F\x7F-\xFF]` 匹配 ASCII 代码在 0x00 到 0x1F 之间以及 0x7F 到 0xFF 之间的字符,这些字符都是不可打印字符。`std::regex_replace` 函数将匹配到的字符替换为空字符串,从而去除不可打印字符。
阅读全文