JAVA 문자열 구분 split
Split 사용하기
기본형은
public String split(String regex);
public String split(String regex, int limit);
이중에 익숙하게 사용하던것은 split(String regex)
사용방법은 다음과 같이 리스트와 함께 사용한다
import java.util.*;
import java.text.*;
import org.apache.commons.lang3.StringUtils;
public List sp(String str, String regex){
int chk = StringUtils.countMatches(str, regex) + 1; // StringUtils.jar 필요 / regex 에 해당하는 문자 갯수 체크
List list = new ArrayList();
for (int i = 0 ; i < chk ; i++){
list.add(str.split(regex)[i]);
}
return list;
}
public static void main(){
String st = "나는_너의_영원한_친구야";
String reg = "_";
System.out.println(sp(st,reg).get(0)); // 나는
}
다른 방법으로도 사용이 가능하다.
public List sp(String str, String regex){
List list = new ArrayList();
String[] tempStr = str.split(regex);
for (String temp : tempStr){
list.add(temp);
}
return list;
}
public static void main(){
String st = "나는_너의_영원한_친구야";
String reg = "_";
System.out.println(sp(st,reg).get(0)); // 나는
}
아래는 split(String regex, int limit) 에 관련된 기능이다.
String str = "hash;bye;test;zz;ee";
String[] strArray1 = str.split(";", 0);
for(String st : strArray1){
System.out.println(st);
}
/* 출력 결과
* hash
* bye
* test
* zz
* ee
*/
String[] strArray2 = str.split(";", 2);
for(String st : strArray2){
System.out.println(st);
}
/* 출력 결과
* hash
* bye
* test;zz;ee
*/