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

How to get substring from a string in qt?

本文关键字:字符串 获取 qt      更新时间:2023-10-16

我有一个文本形式:

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

我想要的是任何文本,直到":"成为标签,然后成为文本。

有什么想法吗?

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

  • split()
  • 部分()

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"