String 클래스의 split() 메서드를 사용하여 아래의 코드를 수행하면 leading Empty String 이 배열의 첫번째 인덱스에 생성됩니다. String.split() 메서드는 구분자를 정규표현식으로 입력받아서 "[{,}]" 와 같은 문자열을 입력받습니다. 실제 구분자는 "{,}"라고 할 수 있습니다. 어찌되었든 저는 leading Empty String 이 없었으면 좋겠습니다.
@Test
void splitTest() {
String sample = "{ABs,001,013}s";
String[] fields = sample.split("[{,}]");
System.out.println(Arrays.toString(fields));
}
[, ABs, 001, 013, s]
org.apache.commons.lang3 패키지에 있는 StringUtils 클래스가 제공하는 split() 메서드를 활용하면 원하는 결과를 얻을 수 있습니다. StingUtils.split() 메서드는 구분자를 단순한 문자집합으로 입력받는 차이점이 있네요.
@Test
void splitTest() {
String[] split = StringUtils.split("{ABs,001,013}s", "{,}");
System.out.println(Arrays.toString(split));
}
[ABs, 001, 013, s]