본문 바로가기

Programming/Java/Android

[Java] 자바 split() 함수를 이용하여 "|" (Vertical Bar) 를 기준으로 분리할 때

String[] arr = "2|02".split("|"); 
arr[0];//"2"가리턴되지 않는다. ""공백이 리턴된다
arr[1];//"02"가 출력되지 않는다. 혹은 오류가 날수있다. 이경우 "2"가 리턴된다


위는 잘못 작성된 코드이다. 오류가 발생되거나 비정상 적인 결과가 출력된다. 

| 파이프기호를 딜리미터로 split하려고 한다.


올바로 처리되기위해 첫번째줄을 바르게 고치시오.


정답: 

String[] arr = "2|02".split("\\|");


해설: split의 표현은 정규식으로 표현되어지므로 정규식 예약어인 파이프기호에는

이스케입문자 \가 있어야 하며 ""안에서 \는 \\로 표현한다.