Apache StringUtils拆分函数做疯狂
-
21-12-2019 - |
题
我在想这件疯狂的事。 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
参数作为分隔符,不一定是整个事情。该 贾瓦多克 还指出
分隔符不包含在返回的字符串数组中。 相邻的 分离器被视为一个分离器。
参数
- 分离器,分离器 用作分隔符的字符,null在空格上分割
或者,您可以使用 StringUtils.splitByWholeSeparator(String, String)
在确切的情况下分开 @--@
不管是什么。
其他提示
在此方案中,它需要两个@, - 作为分隔符,因此为什么产生此输出。
对于精确的输出,您必须尝试其他“分隔符”
不隶属于 StackOverflow