Qt拆分QString一次

Pho*_*kin 4 c++ qstring qt split qtcore

我想分割一个QString,但根据文档,split函数只允许在发生分割的字符时进行拆分.我想要的只是在第一次出现角色的地方分开.

例如:

5+6+7默认情况下split()会以包含的列表结尾["5","6","7"]

我想要的是:只有两个元素的列表 - > ["5","6+7"]

提前感谢您的回答!

lpa*_*app 10

有多种方法来实现这一点,但是这是可能的,可以说是最简单的:

main.cpp中

#include <QString>
#include <QDebug>

int main()
{
    QString string("5+6+7");
    qDebug() << string.section('+', 0, 0) << string.section('+', 1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

main.pro

TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
Run Code Online (Sandbox Code Playgroud)

构建并运行

qmake && make && ./main
Run Code Online (Sandbox Code Playgroud)

产量

"5" "6+7"
Run Code Online (Sandbox Code Playgroud)