繁体   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