Qt拆分QString一次

时间:2014-11-03 21:08:10

标签: c++ qt split qstring qtcore

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

例如:

5+6+7默认split()将以包含["5","6","7"]

的列表结尾

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

提前感谢您的回答!

2 个答案:

答案 0 :(得分:9)

有多种方法可以实现这一目标,但this is可能并且可以说是最简单的:

的main.cpp

#include <QString>
#include <QDebug>

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

main.pro

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

构建并运行

qmake && make && ./main

输出

"5" "6+7"

答案 1 :(得分:0)

使用 indexOf() 查找第一次出现的“+”。然后使用 mid - mid(0,index)mid(index+1) 拆分字符串 - 归功于“R Sahu”