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])
[출처]
'Java' 카테고리의 다른 글
[Java] String & StringBuffer & StringBuilder (0) | 2024.03.16 |
---|---|
[Java] String to int, int to String 형 변환하기 (0) | 2024.03.13 |
[Java] 문자열 반복 (0) | 2024.03.10 |