qt中如何将Qstring中的符号去除保留汉字英文和数字和换行符和*和#
时间: 2024-02-21 16:01:51 浏览: 85
QString含汉字时,完美转char*和unsigned char*
您可以使用正则表达式来满足您的需求。以下是一个示例代码,它将从一个QString中删除所有非汉字、英文、数字、换行符、*号和#号的字符:
```cpp
QString text = "这是一段测试文本,#test* 123\n";
QString pattern = "[^\\u4E00-\\u9FA5\\w\\n*#]";
QRegExp rx(pattern);
text = text.remove(rx);
```
在上面的代码中,我们首先定义了一个QString对象text,其中包含待处理的文本。然后,我们定义了一个正则表达式模式pattern,它匹配所有不是汉字、英文、数字、换行符、*号和#号的字符。最后,我们使用QRegExp的remove方法将所有匹配的字符从text中删除,并将结果存储回text中。
需要注意的是,上面的代码只适用于UTF-8编码的文本。如果您使用的是其他编码,请相应地修改正则表达式模式。
阅读全文