[JAVA] 문자열 split, replace 사용시 마침표(.) 안되는 경우

SUN·2023년 12월 28일

JAVA

목록 보기
4/5

split 메소드를 사용하여 문자열을 마침표(.)를 기준으로 나누려고 아래와 같이 시도했다.

String str = "2023.12";
String[] arr = str.split(".");

System.out.println(arr.length);

' arr = [2023, 12] ' 을 예상했지만
결과는 0이 나왔다..


마침표(.)는 정규식 예약어이기 때문에
정규식에서 개행문자(\n)를 제외한 모든 문자를 의미한다고 한다.

마침표(.)가 예약어 점이 아닌 문자 "." 이라는 것을
역슬래시(\)를 이용해서 알려줘야 한다.
이때 역슬래시(\)도 예약어이기 때문에 하나 더 써줘야한다.

그래서 그냥 split(".") 이 아니라
split("\\.")
으로 수행해하면 된다.

String str = "2023.12";
String[] arr = str.split("\\.");

System.out.println(arr.length); // 결과: 2 (arr = [2023, 12])

[출처]
https://ddioniii.tistory.com/5

profile
끄적끄적 코딩공부

0개의 댓글