내가 split 하려고 했던 문자열이 아래와 같다고 하면,
String text = "aaa.111";
. (dot)로 split을 하려고 했다.
String[] result = text.split(".");
System.out.println(result.length);
결과는 몇일까?
.을 기준으로 aaa와 111로 나눠지기 때문에
2가 나와야 정상이지만,
0이었다.
이유는 .(dot)는 정규식 예약어이기 때문이다.
\n(개행문자)를 제외한 모든 문자를 의미한다.
따라서,
String[] result = text.split(".");
이 문법은 모든 문자를 각각 다 split 하면서
하나씩 다 없어져버린 것이다.
그래서 원하는대로 하기 위해서는
\\.
으로 수행해야한다.
\ <- 이 것 하나도 예약어이기 때문에 두개를 붙인다.
출처 : http://ohgyun.com/4
'개발 > JAVA' 카테고리의 다른 글
windows에서 JAVA 환경변수 설정하기 (11) | 2020.11.24 |
---|---|
trim()으로 걸러내지 못하는 공백문자 정규식으로 걸러내기 (0) | 2016.07.22 |
Java의 Integer, int 숫자 비교의 주의사항 (3) | 2016.03.30 |
구아바(Guava)를 이용하여 List의 특정값 추출해서 새로운 List 만들기 (0) | 2016.03.25 |
구아바(Guava) Iterables.filter를 사용해서 리스트 필터링 하기 (0) | 2016.03.25 |