2013-08-20 45 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