본문 바로가기
Java

01. StringTokenizer 클래스

by Backchus 2018. 10. 4.

문자열이 특정 구분자로 연결되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리하기 위한 방법은 두 가지가 있다.

첫째, String의 split()메소드를 이용하는경우

1
2
3
4
5
6
7
8
9
10
11
12
13
public class StringSplitExample {
 
    public static void main(String[] args) {
        String text = "홍길동&이수홍,박연수,김자바-최명호";
        
        String[] names = text.split("&|,|-");        //구분자를 여러개 지정 가능
        
        for(String name : names) {
            System.out.println(name);
        }
    }
 
}


둘째, java.util 패키지의 StringTokenizer 클래스를 이용하는경우

1
StringTokenizer st = new StringTokenzier("문자열""구분자");


만약 구분자를 생략하면 공백이 기본 구분자가 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package chapter11.exam01;
 
import java.util.StringTokenizer;
 
public class StringTokenizerExample {
 
    public static void main(String[] args) {
        String text = "홍길동/이수홍/박연수";
 
        // for문 이용
        StringTokenizer st = new StringTokenizer(text, "/");
        int countTokens = st.countTokens();
        for (int i = 0; i < countTokens; i++) {
            String token = st.nextToken();
            System.out.println(token);
        }
        System.out.println();
        // while문 이용
        st = new StringTokenizer(text, "/");
        while(st.hasMoreTokens()) {            // 토큰이 있는지 확인
            String token = st.nextToken();    // 토큰을 불러옴
            System.out.println(token);
        }
    }
 
}
 
cs

두가지의 차이점은 split()은 정규 표현식으로 구분하고, StringTokenizer는 문자로 구분한다는 차이점이있다.


'Java' 카테고리의 다른 글

예외 발생 및 회피  (0) 2019.01.25
예외 클래스  (0) 2019.01.25
예외 처리  (0) 2019.01.25
Comparable과 Comparator  (0) 2019.01.24
파일 입출력  (0) 2018.11.14