StringTokenizer??

  • 문자열을 원하는 구분자로 나누어 토큰으로 분리할 때 사용
  • java.util 패키지에 속해 있음
  • 기본은 공백 기준으로 쪼개준다

 

 

사용법

1. 기본 구분 (공백으로 구분)

 

String str = "Java is fun";
StringTokenizer st = new StringTokenizer(str);

while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}
    // 출력: Java   is   fun

 

 

 

 

2. 원하는 구분자로 구분

두 번째 매개변수로 원하는 구분자를 입력하면 해당 구분자를 기준으로 쪼개준다.

String str = "Java, is, fun";
StringTokenizer st = new StringTokenizer(str, ", ");

while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}
   //출력: Java   is   fun

   

 

 

3. 구분자까지 토큰으로 포함

 

세 번째 매개변수를 true로 설정할 경우 구분자까지 하나의 토큰으로 간주한다!

String str = "Java,is,fun";
StringTokenizer st = new StringTokenizer(str, ",", true);

while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}
    // 출력: Java   ,   is   , fun

  

 

 

 

 

StringTokenizer의 주요 메서드

1. hasMoreTokens(): 다음 토큰이 있는지 확인

 

2. nextToken(): 다음 토큰을 반환

 

3. countTokens(): 남은 토큰의 수 반환

 

 

 

 

 

 

split과의 차이?

 

StringTokenizer는 클래스이고, split은 String클래스에 있는 메서드이다!

 

StringTokenizer는 구분자로 문자열 or 문자 사용, split은 정규표현식 지원한다.

 

따라서 StringTokenizer는 간단한 작업, 가볍게 사용할 때 사용하며,

 

split은 정규표현식을 처리하는 만큼 복잡하고 유연한 사용이 필요할 경우에 사용하기 좋다.