2013-08-20 43 views
1

Python字符串有一个功能split(),可以采取一个maxsplit参数(从Python docs):的Qt的QString maxsplit参数

如果maxsplit给定,最多maxsplit拆分完成后(因此,其列表 将在大多数maxsplit + 1元素)。如果maxsplit没有指定为 或-1,那么分割数量没有限制(所有可能的 分割)。

QStrings能做到这一点吗?我查看了文档,没有split()过载,其中需要一个等于maxsplit的整数作为参数。

回答

3

它似乎并不喜欢它,但它似乎是微不足道的实施 -

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

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