Java
[Java] split("\\.")
hrming
2022. 12. 3. 01:48
split메서드를 사용할 때, . 을 구분자로 사용하려면 아래와 같이 \\ . 을 넣어줘야 한다.
String 문자열 = "가.나.다.가나다";
String[] 나눈배열 = 문자열.split("\\.");
split의 인자로 들어가는 String 토큰이 regex 정규식이기 때문이다.
정규식에서 .은 무작위의 한 글자를 의미한다. 그러면 모든 문자가 토큰이 되기 때문에 배열에 남는 게 없게 되는 것이다.
따라서 이스케이프 문자를 앞에 붙여 줘야 한다. 그런데 String 안에 이스케이프 문자인 \를 써 주려면 \\라고 써 줘야 한다. 따라서 \\라고 쓰는 것이다. 그래서 \\.이라고 쓰면 정규식 쪽에서는 \.라고 인식을 하고 실제 .을 찾게 되는 것이다.
참고/출처: https://mytory.net/archives/285
[java] split 메서드 사용시 실수하기 쉬운 것
split는 문자열을 나누는 메서드다.String 문자열 = "가:나:다:가나다";String[] 나눈배열 = 문자열.split(":");//나눈배열 : {"가", "나", "다", "가나다"}System.out.println(나눈배열[0]);//결과 : 가System.out.println(나
mytory.net