문제

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를 사용 하여이 일이 어떻게 일어 났는지 설명 할 수 있습니다.

도움이 되었습니까?

해결책

StringUtilsseparatorChars 인수의 문자 중 하나를 구분 기호로 사용하지만 반드시 모든 것이 아닙니다. Javadoc 또한

분리기는 반환 된 문자열 배열에 포함되지 않습니다. 인접한 세퍼레이터는 하나의 세퍼레이터로 처리됩니다.

매개 변수

  • separatorchars 구분 기호로 사용되는 문자, 널 공백
  • 에있는 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.string % 29

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top