8

我有一个文本表单:

Last Name:SomeName, Day:23 ...etc

从姓氏:SomeName,我想获得姓氏,并分别获得SomeName。

我曾尝试使用 QRegularExpression,

QRegularExpression re("(?<label>\\w+):(?<text>\\w+)");

但我得到了结果:

QString label = match.captured("label") //it gives me only Name

我想要的是任何文本,直到“:”成为标签,之后成为文本。

有任何想法吗?

4

1 回答 1

10

您可以根据需要使用两种不同的方法:

主文件

#include <QString>
#include <QDebug>

int main()
{
    QString myString = "Last Name:SomeName, Day:23";
    QStringList myStringList = myString.split(',').first().split(':');
    qDebug() << myStringList.first() << myStringList.last();
    return 0;
}

主程序

TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp

构建并运行

qmake && (n)make

输出

"Last Name" "SomeName"
于 2014-04-12T16:40:07.853 回答