2

Python 字符串有一个split()可以接受maxsplit参数的函数(来自Python 文档):

如果给定 maxsplit,则最多完成 maxsplit 拆分(因此,列表将最多具有 maxsplit+1 个元素)。如果未指定 maxsplit 或 -1,则对拆分的数量没有限制(进行所有可能的拆分)。

QStrings 可以做到这一点吗?我查看了文档,并没有split()将整数等效maxsplit为参数的重载。

4

1 回答 1

5

看起来不像,尽管实现起来似乎微不足道-

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。您只需要&& list.size() <= maxSplit在 while 循环中添加。

于 2013-08-20T22:38:30.370 回答