[Java] Split 메소드 "."

2802 단어 JavaJava

파일별로 확장자 이름을 알고 싶어 split 메소드 사용했다.

System.out.println(Arrays.toString(scan.next().split(".")));

위와 같이 작성한 결과 다음과 같이 제대로 분리하지 못한다.

test.txt
[]

확인해본 결과 "."은 정규식에서 개행문자를 제외한 모든 문자를 의미하는 예약어이다.
따라서 "."을 기준으로 문자열을 나누고 싶다면 다음과 같이 작성하여야한다.

System.out.println(Arrays.toString(scan.next().split("\\.")));

위와 같이 작성하면 다음과 같이 원하는 결과를 얻을 수 있다.

test.txt
[test, txt]

위와 같이 \\ 처리 해줘야 하는 문자들에는
물음표(?), 별(*), 더하기(+), 괄호((, {, [)등이 있다.

[참고]

좋은 웹페이지 즐겨찾기