개발/Java
[JAVA] split() 함수 반환 시 공백 값이 반환 안되는 현상
Hide
2025. 5. 14. 00:10
javascript 의 경우, 문자열의 경우 "a,b,c,,d" 같은 문자열을 split 시 'a', 'b', 'c', '', 'd' 와 같이 공백이 함께 split 되나
JAVA에서 string.split() 하는 경우 'a', 'b', 'c', 'd' 와 같이 중간의 빈 값이 빠진 상태로 split 되는 현상이 있었다.
JAVA에서의 String.split() 메서드는 기본적으로 빈 문자열을 반환 요소에 포함시키지 않는다.
빈 문자열이 들어 있어도 포함시켜야 하는 경우 두번째 인자값에 -1을 (split(",", -1)) 주면 빈 문자열이 반환 요소에 포함되어 반환된다.
두번째 인자인 limit에 음수를 주면 모든 요소를 리스트에 포함시켜 반환하고, 양수가 들어오면 해당 갯수만 반환하도록 되어있다. -1이 아니라 음수로 주어도 상관없다.
String str = "a,b,c,,d";
String[] str1 = str.split(","); -> 공백 제거
String[] str2 = str.split(",", -1); -> 공백 포함