Java의 String 클래스의 Split 메소드는 인자를 두 개 받는다.
첫번째는 정규식이고, 두번째는 생성될 문자열 배열의 최대 크기이다.
이 때, 두번째 인자의 값을 -1로 하면 최대 분할 문자열 개수에 제한을 두지 않음을 의미한다. 이 경우에는 구분자로 인해 생성된 빈 문자열도 배열에 포함된다.
아래는 두번째 인자를 넣지 않았을 때 예시 코드이다.
String s = "띄띄류띄민띄설띄띄띄";
String[] sArr = s.split("띄");
앞쪽의 빈 문자열은 들어가지만, 뒤쪽의 빈 문자열은 들어가지 않는다. 정말 거지 같은 경우라고 볼 수 있다.
아래는 두번째 인자를 -1로 넣었을 때 예시 코드이다.
String s = "띄띄류띄민띄설띄띄띄";
String[] sArr = s.split("띄", -1);
뒤의 빈 문자열 세 개도 정상적으로 나눠진다.