qt

qt怎么提取字符串中的数字

小亿
687
2023-08-12 01:48:54
栏目: 编程语言

在Qt中,可以使用正则表达式来提取字符串中的数字。以下是一个示例代码:

#include <QDebug>
#include <QRegExp>
int main()
{
QString str = "Hello 123 World 456";
QRegExp rx("\\d+");  // 正则表达式匹配连续的数字
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
QString num = rx.cap(0);  // 获取匹配到的数字
qDebug() << num.toInt();  // 转换为整数输出
pos += rx.matchedLength();
}
return 0;
}

输出结果为:

123
456

这段代码定义了一个正则表达式 \\d+,用于匹配连续的数字。然后使用 indexIn() 函数在字符串中查找匹配项的位置,如果找到则返回匹配的起始位置,否则返回 -1。在一个循环中,不断查找并输出匹配到的数字,直到最后一个匹配项。

0
看了该问题的人还看了