如何从qt中的字符串中获取子字符串?

时间:2014-04-12 16:31:13

标签: c++ regex qt qstring qregularexpression

我有一个文本表格:

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

我想要的是什么文字直到&#34;:&#34;是标签,后来是文字。

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

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

的main.cpp

#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;
}

main.pro

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

构建并运行

qmake && (n)make

输出

"Last Name" "SomeName"