QStringList怎么賽選出带有英文的中文
时间: 2023-12-03 07:44:01 浏览: 111
如果您的字符串列表(QStringList)中包含中文和英文混合的字符串,您可以使用正则表达式来筛选出带有英文的中文字符串。下面是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QStringList>
#include <QRegularExpression>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个包含中文和英文的字符串列表
QStringList strList;
strList.append("中国 China");
strList.append("美国 USA");
strList.append("日本 Japan");
strList.append("英国 United Kingdom");
strList.append("加拿大 Canada");
// 定义一个正则表达式,用于匹配带有英文的中文字符串
QRegularExpression re("[\\u4e00-\\u9fa5]+[a-zA-Z]+[\\u4e00-\\u9fa5]*");
// 遍历字符串列表,输出符合条件的字符串
for (QString str : strList) {
if (str.contains(re)) {
qDebug() << str;
}
}
return a.exec();
}
```
在上面的示例中,我们使用QRegularExpression类定义了一个正则表达式,该表达式可以匹配包含英文的中文字符串。然后,我们遍历字符串列表,对每个字符串进行匹配,如果包含符合条件的字符串,则打印输出。
阅读全文