Qt QString maxsplit参数

时间:2013-08-20 19:14:31

标签: qt qstring

Python字符串有一个函数split(),它可以带maxsplit个参数(来自Python docs):

  

如果给出maxsplit,则最多完成maxsplit分割(因此,列表   最多只能有maxsplit + 1个元素)。如果未指定maxsplit   或-1,然后分割数量没有限制(所有可能的   分裂了。)

QStrings可以这样做吗?我查看了文档,并且没有split()重载,它使用等于maxsplit的整数作为参数。

1 个答案:

答案 0 :(得分:3)

看起来并不像,但实施起来似乎微乎其微 -

QString str("How are all of you doing");
QStringList list = str.split(' ').mid(0, maxSplit);
QString remainingStr = str.section(' ', maxSplit);
list << remainingStr;

或者如果你想要更高效,你可以只复制QString :: split中的代码,并添加额外的功能。代码在qtbase/src/corelib/tools/qstring.cpp处。您只需在while循环中添加&& list.size() <= maxSplit