Apache Stringutils 분할 기능은 미친 것입니다
-
21-12-2019 - |
문제
StringUtils.split(string,separator);
Sprator @@--@@
를 사용하여 문자열을 분리하고 내 코드가 다음과 같이 진행됩니다.
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 또한
분리기는 반환 된 문자열 배열에 포함되지 않습니다. 인접한 세퍼레이터는 하나의 세퍼레이터로 처리됩니다.
매개 변수
- separatorchars 구분 기호로 사용되는 문자, 널 공백
에있는 null 스플릿
또는 StringUtils.splitByWholeSeparator(String, String)
정확한 @--@
또는 그것이 무엇이든간에 분할
다른 팁
이 시나리오에서는 @ - 분리기 가이 출력이 생성되는 이유가되는 이유로 @ (@)를 모두 필요로합니다. 정확한 출력을 위해 다른 "구분 기호"
을 시도해야합니다.제휴하지 않습니다 StackOverflow