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은 정규표현식을 처리하는 만큼 복잡하고 유연한 사용이 필요할 경우에 사용하기 좋다.