我想拆分QString
,但根据文档,split函数只允许在要分割的字符出现时进行拆分。我想要的只是在第一次出现角色的地方分开。
例如:
5+6+7
默认split()
将以包含["5","6","7"]
我想要的是:只有两个元素的列表 - > ["5","6+7"]
提前感谢您的回答!
答案 0 :(得分:9)
有多种方法可以实现这一目标,但this is可能并且可以说是最简单的:
#include <QString>
#include <QDebug>
int main()
{
QString string("5+6+7");
qDebug() << string.section('+', 0, 0) << string.section('+', 1);
return 0;
}
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”