본문으로 바로가기

오늘도 역시 삽질 끝에 알아낸 소중한 하나의 정보를 기록합니다. ㅋㅋ

오늘은 자바의 String.split( ) 함수에서 구분자로 역슬래시("\")를 사용해서 문자열을 분리하던 중
String.split("\"); 는 구문 자체 오류로 나타나고 기본적으로 "\" 는 "\\"로 사용해야 한다고 알고 지냈기에 별다른 문제없이 문자열을 "\"으로 분리하기 위해 String.split("\\"); 사용했습니다.

하지만 실행을 시켜보니 프로그램이 계속 아래와 같은 오류를 뱉어내면서 제대로 동작을 안했습니다. ㅠㅠ

Unexpected internal error near index 1
\
 ^


네이버에서 관련 자료를 한참 검색하였으나 찾지 못하고 구글을 검색하여 찾았습니다.
( 좋아하지도 않는 영어로 된 문서를 찾아서 보느라..
어렵게 적힌 내용은 아니었으나 원래 영어와는 친하지 않아서리... ㅡㅡㅋ)

의외로 방법은 간단했습니다.
(나는 왜 이렇게 해볼 생각은 못해 본건지.. 내 머리의 한계일까요~? (OTL))

String.split(
\\\\);
위와 같이 해주면 "\"를 구분해서 문자열을 분리해 줍니다.

"."와 같은 특수문자를 찾기 위해서 ("\\.") 이렇게 해준다면
"\"는 "\\" 에 다시 "\" 를 찾기 위해 "\\"를 더해서 ("
\\\\"); 해주면 되는것인디.. ㅋ

출처는 아래 링크 걸어둡니다.
http://forum.java.sun.com/thread.jspa?threadID=620289&messageID=3490909
http://forum.java.sun.com/thread.jspa?threadID=637512&messageID=3724762
http://forums.pentaho.org/showthread.php?p=183433