Как получить подстроку из строки в qt?

У меня есть текстовая форма:

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

То, что я хочу, это чтобы любой текст до «:» был меткой, а после — текстом.

Есть идеи?

6

Решение

Вы можете использовать два разных метода для этого, исходя из ваших потребностей:

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"
9

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]