Python字符串有一个函数split()
,它可以带maxsplit
个参数(来自Python docs):
如果给出maxsplit,则最多完成maxsplit分割(因此,列表 最多只能有maxsplit + 1个元素)。如果未指定maxsplit 或-1,然后分割数量没有限制(所有可能的 分裂了。)
QStrings可以这样做吗?我查看了文档,并且没有split()
重载,它使用等于maxsplit
的整数作为参数。
答案 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
。