[Java] split(".") 이 안되는 이유
2022. 4. 18. 14:20ㆍBackend/☕️ Java
String[] splitted = "ABC.DEFU".split(".");
// 예상
[ABC, DEFU]
// 실제
[]
suspicious regex expression "." in call to split() 이라는 경고 메시지가 뜬다. 직역하면 "의심스러운 정규 표현식" 이란 말인데, 정규 표현식 자리에 들어간 "." 이 의미가 개발자의 의도와 다르기 때문이다.
정규 표현식에서 comma (.) 는 임의의 문자열을 의미한다.
정규식에서는 특수문자를 대괄호 [] 로 감싸거나, \\ 를 앞에 붙여주어야만 한다.
// wrong
String[] splitted = "ABC.DEFU".split(".");
// right
String[] splitted = "ABC.DEFU".split("\\.");
String[] splitted = "ABC.DEFU".split("[.]");
'Backend > ☕️ Java' 카테고리의 다른 글
[Java] toString() 메서드 (0) | 2022.07.03 |
---|---|
로컬의 JVM 이 여러 개일 때 발생한 문제 및 해결 (feat. gradle build 에러) (0) | 2022.04.25 |
[Java] String, StringBuilder 모르고 지나쳤던 점 (0) | 2022.03.30 |
[Java] Stream과 iterable 의 forEach (0) | 2022.02.06 |
[Java] BiConsumer (0) | 2022.02.03 |