java&spring

replaceAll과 split에서의 주의점

sungjine 2016. 8. 25. 23:47
반응형

 - replaceAll에 정규표현식을 사용해서 이미지의 경로를 String에 넣으려고 할 때 separator가 사라지는 이슈가 발생했다.

 

실행 코드 : separator.replaceAll(separator, "image" + separator + "default.jpg");

 

위와 같이 실행하면 아래와 같이 나온다.

 

결과 : imagedefault.jpg

 

검색결과 Windows의 Separator는 역슬레시이고 정규표현식에서 역슬레시 두 개를 역슬레시 하나로 인식하고 자바 또한 동일하게 인식하기 때문에 일어나는 이슈였다.

 

그래서 하나의 String값으로 가지고 있던 이미지의 경로를 split을 통해 경로와 이름으로 분리하여 separator를 두번 사용 하려고 했다.

 

실행 코드 : separator.split(separator);

 

위와 같이 실행하면 아래와 같은 에러메세지가 출력된다.

 

결과 : Unexpected internal error near index 1 \ ^

 

검색결과 split도 마찬가지로 정규표현식을 사용할 수 있게끔 만들어져있어 saparator를 두번 붙여서 사용해야 했다.

반응형