IP Address를 "."으로 구분하여 각 자리의 octet을 구하려고 합니다.
아래와 같이 Java의 split함수를 사용하여 쉽게 구할 수 있을 줄 알았는데 결과는 나오지 않았습니다.
String ip = "127.0.0.1";
String[] octets = ip.split(".");
for(String octet : octets){
System.out.println(octet);
}
왜 안 나올까 생각해 봤는데 애초에 split이 원하는 대로 되질 않았고 split 함수를 확인해 본 결과
안에 그냥 사용하던 문자열이 정규표현식이었습니다.
정규표현식에서 "."는 임의의 문자 하나를 의미하기 때문에 분할이 되지 않았던 것이었습니다.
이를 정규표현식에서 문자 그대로 사용하기 위한 방법인 \\를 앞에 붙여주면 알맞은 결과가 나오게 됩니다.
'JAVA' 카테고리의 다른 글
Try with resources, 자원 자동 해제하기 (0) | 2022.07.01 |
---|---|
[Java 문제] 127 + 1 = ? (0) | 2020.12.29 |
댓글