2014-01-09 1 views
2

내가 나는 분리 @@[email protected]@를 사용하여 문자열을 분리 할 내 코드는 다음과 같이 간다 StringUtils.split(string,separator);아파치 StringUtils에 분할 기능은 미친

이 미친 일에 대해 궁금 않습니다.

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

은 내가 어떤 사람이 일이 발생했습니다 어떻게 설명 할 수 commons-lang-2.6.jar 사용 등

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

로 출력을 발견했다.

답변

6

StringUtils은 구분 기호로 separatorChars 인수의 문자 중 하나를 사용하며 반드시 전체를 사용해야하는 것은 아닙니다. javadoc도 해당 상태입니다.

구분 기호는 반환 된 문자열 배열에 포함되지 않습니다. 인접한 구분 기호는 하나의 구분 기호로 취급됩니다. 당신이 정확한 @[email protected] 또는 무엇이든 그것을에 분할 StringUtils.splitByWholeSeparator(String, String)을 사용할 수 있습니다 문자가 구분 기호로 사용

매개 변수

  • separatorChars,

또는 공백에 널 (null) 분할, 입니다.

+0

감사합니다 ... 소티 리오스 Delimanolis : 정확한 출력을 위해 당신은 다른 "분리"

이 참조하기를 시도해야 – ashokramcse