파일별로 확장자 이름을 알고 싶어 split 메소드 사용했다.
System.out.println(Arrays.toString(scan.next().split(".")));
위와 같이 작성한 결과 다음과 같이 제대로 분리하지 못한다.
test.txt
[]
확인해본 결과 "."은 정규식에서 개행문자를 제외한 모든 문자를 의미하는 예약어이다.
따라서 "."을 기준으로 문자열을 나누고 싶다면 다음과 같이 작성하여야한다.
System.out.println(Arrays.toString(scan.next().split("\\.")));
위와 같이 작성하면 다음과 같이 원하는 결과를 얻을 수 있다.
test.txt
[test, txt]
위와 같이 \\
처리 해줘야 하는 문자들에는
물음표(?
), 별(*
), 더하기(+
), 괄호((
, {
, [
)등이 있다.