2013-08-29 4 views
-1

다음 형식의 입력 문자열이 있습니다 first|second|third|<forth>|<fifth>|$sixth이 문자열을 값이 [first, second, third ,,, $ six] 인 문자열 배열로 분할하려고합니다. 문자열을 분할하는 데 다음 코드를 사용하고 있지만 작동하지 않습니다. 도와주세요.문자열을 분리하는 방법 | 문자

public String[] splitString(String input){ 
String[] resultArray = input.split("|") 
return resultArray; 
    } 

내가 뭘 잘못하고 있는지 말해 주실 수 있습니까?

답변

6

백 슬래시를 사용하여 |을 특수 문자로 이스케이프 처리해야합니다. 이 작업을해야합니다 :

String[] resultArray = input.split("\\|") 
+0

나는 그것이 사실이라고 생각하지 않습니다. 나는 그것을 연구 할 것이고, 그것이 있다면 downvote를 취소 할 것이다. – tbodt

+0

@tbodt 나는 그것이 진실이라고 믿는다! –

+0

나는 그것이 사실이라고 생각한다. –

2

|는 의미 메타 문자 정규식에서 뭔가를 나타냅니다. split이 정규 표현식을 인수로 취한 것으로 간주하면 정규 표현식을 사용하여 인수를 해석합니다. 앞에 \\을 두어 모든 메타 문자를 "이스케이프"해야합니다. 귀하의 경우, 당신은 다음과 같이 할 것입니다 :

String[] resultArray = input.split("\\|"); 
관련 문제