JAVA 문자열 구분 split

최대 1 분 소요

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
*/ 

태그: ,

카테고리:

업데이트: