簡體   English   中英

Apache StringUtils分裂函數可以實現瘋狂

[英]Apache StringUtils Split Function does Crazy

我想知道StringUtils.split(string,separator);這個瘋狂的事情StringUtils.split(string,separator);

我想使用分隔符@@--@@分隔字符串,我的代碼就像這樣。

String[] strings = StringUtils.split("kayf86@--@9@--@5r43987@!@!%%^&^$%@!@!%-@@*&%$*(&^$%@!@!%--@", "@--@");
for (String string : strings) {
    System.out.println(string);
}

我發現了輸出

kayf86
9
5r43987
!
!%%^&^$%
!
!%
*&%$*(&^$%
!
!%

我使用commons-lang-2.6.jar可以解釋一下這件事是怎么發生的。

StringUtils使用任何的字符separatorChars參數作為分隔符,不一定是整個事情。 javadoc還說

分隔符不包含在返回的String數組中。 相鄰的分隔符被視為一個分隔符。

參數

  • spacerChars用作分隔的字符,在空白處為null拆分

或者,您可以使用StringUtils.splitByWholeSeparator(String, String)來拆分精確的@--@或其他任何內容。

在這種情況下,它同時使用@,-作為分隔符,因此才產生此輸出。 要獲得准確的輸出,您必須嘗試其他“分隔符”

要引用: http : //commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#split%28java.lang.String,%20java.lang。字符串29%

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM