StringTokenizer — 문자열을 토큰으로 분리하는 클래스

StringTokenizer — 문자열을 토큰으로 분리하는 클래스

애플리케이션이 문자열을 토큰(token)으로 분리할 수 있게 하는 클래스예요. 토큰화 방법은 StreamTokenizer보다 훨씬 단순해요.

출처: Java API Reference

본문

public class StringTokenizer implements Enumeration<Object>

StringTokenizer 메서드는 식별자, 숫자, 따옴표 문자열을 구분하지 않으며 주석도 인식해요. 토큰을 구분하는 구분자 집합은 생성 시 또는 토큰마다 지정할 수 있어요.

StringTokenizer 인스턴스는 returnDelims 플래그 값에 따라 두 가지 방식으로 동작해요:

  • 플래그가 false면 구분자 문자는 토큰을 구분하는 역할만 해요. 토큰은 구분자가 아닌 연속 문자들의 최대 시퀀스예요.
  • 플래그가 true면 구분자 문자 자체가 토큰으로 간주돼요. 즉 토큰은 하나의 구분자 문자이거나, 구분자가 아닌 연속 문자들의 최대 시퀀스예요.
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}

위 코드는 this, is, a, test를 출력해요.

생성자

  • StringTokenizer(String str)** — 기본 구분자 집합을 가진 문자열 토크나이저를 생성해요.
  • StringTokenizer(String str, String delim) — 지정된 구분자로 문자열 토크나이저를 생성해요.
  • StringTokenizer(String str, String delim, boolean returnDelims)returnDelims 플래그로 문자열 토크나이저를 생성해요.

주요 메서드

  • hasMoreTokens() — 이 토크나이저에 더 많은 토큰이 있으면 true를 반환해요.
  • nextToken() — 이 토크나이저의 다음 토큰을 반환해요.
  • countTokens()nextToken이 예외를 던지지 않고 호출되기 전에 남은 토큰 수를 계산해요.

StringTokenizer는 호환성 이유로 유지되는 레거시 클래스이며, 새 코드에서는 String.split이나 java.util.regex 패키지를 사용하는 것이 권장돼요.

  • 도입 시점(Since): 1.0

더 알아보기 (Learn more)