使用正则表达式,QStringList同时以空格和逗号进行分割,提供详细代码
时间: 2024-09-27 13:03:48 浏览: 34
QString使用正则操作的接口实现
5星 · 资源好评率100%
在Qt中,你可以使用`QStringList::split()`方法结合正则表达式来进行复杂的分割。假设你想同时以空格和逗号作为分隔符,可以这样做:
```cpp
#include <QCoreApplication>
#include <QString>
#include <QStringList>
#include <QRegExp>
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
QString input = "apple, banana orange grape space separated value";
QRegExp pattern("\\s*,\\s*"); // 正则表达式匹配空格、逗号和空格组合
QStringList result = input.split(pattern, Qt::KeepEmptyParts); // Qt::KeepEmptyParts保留空部分
foreach (const QString &part, result) {
qDebug() << part;
}
return app.exec();
}
```
在这个例子中,`QRegExp`用于创建一个正则表达式模式,`\s*`代表零个或多个空格,`,`加上`\s*`表示匹配空格、逗号和空格的任意组合。`split()`函数会按照这个模式分割输入的字符串,并返回一个包含所有子串的新`QStringList`。
阅读全文