2017년 12월 25일 월요일

JAVA에서 split() 메서드 사용하기

JAVA에서 split() 메서드 사용하기


String[] tfihDetails = resultDetail.getTfihDetail().split("[@@@]");

위 처럼 split 메서드에 구분 문자열을 넣어서 배열을 만들었더니 잘 되지 않았다. "-"와 같은 간단한 하나의 문자인 경우 잘 되는 듯 했지만 긴 문자열을 구분자로해서 사용시 원하는 결과가 나오지 않았다

긴 문자열을 구분자로 문자 배열을 만들고자 하는 경우 아래처럼 수정하여 원하는 결과를 얻을 수 있었다.

String[] tfihDetails = resultDetail.getTfihDetail().split(Pattern.quote("[@@@]"));


만일 대상 문자열의 구분자 사이가 아래 예문과 같이 비어있다면 배열의 길이는 2가 된다. 배열의 길이가 4가 되길 원한다면 split 함수의 두번째 인자에 -1을 할당하면 된다.

String[] arr1 = "테스트1[@@@]2017-12-01[@@@][@@@]".split(Pattern.quote("[@@@]"));
arr1.length ---> 2

String[] arr2 = "테스트1[@@@]2017-12-01[@@@][@@@]".split(Pattern.quote("[@@@]"),-1);
arr2.length ---> 4