StringTokenizer 클래스
는 문자열이 특정 구분자로 구성된 문자열이라면, 해당 분자열을 구분자 기준으로 자르는 클래스입니다. 이때 특정 구분자를 기준으로 잘린 문자열 토막을 Token
이라고 부릅니다.
사실 String에 split()
이라는 문자열 분할 메소드가 있습니다. 하지만 split()
은 인수로 정규 표현을 전달해야한다는 문제점이 있기에 정규 표현식에 익숙하지 않다면 문자열을 전달하는 StringTokenizer
를 사용하는 것이 좋을 수도 있습니다.
또한 StringTokenizer
는 한 번에 한 구분자만을 받습니다. 그래서 한 문자열에 여러 구분자가 섞여있는 복잡한 문자열의 경우에는 split()
을 사용하는 것이 더 좋습니다.
다시 돌아와서 StringTokenizer
에서 사용할 수 있는 메소드는 다음과 같습니다.
public class Main {
public static void main(String[] args) {
String str = "사과,배,오렌지,키위,바나나,포도";
StringTokenizer st = new StringTokenizer(str, ","); //,를 기준으로 토큰 분할
System.out.println(st.countTokens()); //토큰의 총 개수 출력
while (st.hasMoreTokens()) { //남은 토큰이 더 있는 동안 반복
System.out.println(st.nextToken()); //토큰 출력
}
}
}