qt中使用正则表达式将12,34,304,568,689,1023;中的数字提取出来
时间: 2024-12-19 07:14:45 浏览: 8
在Qt中,如果你想从一系列逗号分隔的数字字符串中提取每个单独的数字,你可以先使用`QString::split()`函数将字符串分割成列表,然后再对每个元素应用正则表达式来提取数字。这里是一个例子:
```cpp
#include <QRegularExpression>
#include <QStringList>
#include <QDebug>
QString inputStr = "12,34,304,568,689,1023";
QRegExp digitRegex("\\d+");
// 使用逗号作为分隔符,将字符串拆分成QStringList
QStringList numbers = inputStr.split(",");
for (const QString& number : numbers) {
QRegularExpressionMatch match = digitRegex.match(number);
if (match.hasMatch()) {
QString extractedNumber = match.captured(0); // 获取第一个捕获组,即整个匹配的数字
qDebug() << "提取的数字: " << extractedNumber;
} else {
qDebug() << "无法从 '" << number << "' 中提取数字";
}
}
```
这段代码会逐个处理逗号分隔的数字,如果能找到数字,则打印出来,找不到则显示一条消息。
阅读全文