Python 字符串有一个split()
可以接受maxsplit
参数的函数(来自Python 文档):
如果给定 maxsplit,则最多完成 maxsplit 拆分(因此,列表将最多具有 maxsplit+1 个元素)。如果未指定 maxsplit 或 -1,则对拆分的数量没有限制(进行所有可能的拆分)。
QStrings 可以做到这一点吗?我查看了文档,并没有split()
将整数等效maxsplit
为参数的重载。
看起来不像,尽管实现起来似乎微不足道-
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 循环中添加。