StringTokenizer 클래스란
하나의 문자열을 여러개의 토큰으로 분리하는 클래스
특정 문자에 따라 문자열을 나누고 싶을 때에 StringTokenizer를 사용
즉, 문자열을 토큰화함
ex) 010-1234-5678 → (-)가 구분자라면 010, 1234, 5678 이 토큰이 됨
→ 띄어쓰기를 기준으로 문자열을 분리
// 띄어쓰기를 기준으로 문자열을 분리하고 싶을 때
StringTokenizer st = new StringTokenizer(문자열);
// 구분자를 기준으로 문자열을 분리하고 싶을 때
StringTokenizer st = new StringTokenizer(문자열,구분자);
// 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣을지 설정할때 true/false 를 포함하여 결정 가능 (default는 false)
StringTokenizer st = new StringTokenizer(문자열,구분자,true/false);
| 리턴값 | 생성자 | |
|---|---|---|
| String | nextToken() | 객체에서 다음 토큰을 반환 |
| String | nextToken(String delim) | 중간에 문자열을 자르는 기준을 delim으로 바꾸는 메소드 |
| int | countTokens() | 현재 남아있는 토큰의 개수를 int 타입으로 반환 |
| Object | nextElement() | 다음의 토큰을 반환하는데 Object 타입으로 반환 |
| boolean | hasMoreTokens(), hasMoreElements() | 꺼내올 토큰이 존재하는지 확인하고 결과값을 boolean타입으로 반환 |
예시
package test;
import java.util.StringTokenizer;
public class test3 {
public static void main(String[] args) {
String str1 = "Welcome to the Show";
StringTokenizer st = new StringTokenizer(str1);
System.out.println("st1의 토큰 개수 : "+ st.countTokens());
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
package test;
import java.util.StringTokenizer;
public class test3 {
public static void main(String[] args) {
String str2 = "Welcome%to%the%병갑%블로그";
StringTokenizer st = new StringTokenizer(str2,"%");
System.out.println("str2의 토큰 개수 : "+st.countTokens());
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
package test;
import java.util.StringTokenizer;
public class test3 {
public static void main(String[] args) {
String str3 = "Welcome%to/the%병갑*블로그";
StringTokenizer st = new StringTokenizer(str3,"%/*",true);
System.out.println("str3의 토큰 개수 : "+st.countTokens());
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
package test;
import java.util.StringTokenizer;
public class test3 {
public static void main(String[] args) {
String str4 = "Welcome%%to%&the&병갑&블로그";
StringTokenizer st = new StringTokenizer(str4,"%");
System.out.println("str4의 토큰 개수 (delim : '%' ) : " + st.countTokens());
System.out.println(st.nextToken());
System.out.println(st.nextToken());
System.out.println(st.nextToken("&"));
System.out.println("str4의 토큰 개수 (delim : '&' ) : " + st.countTokens());
System.out.println(st.nextToken());
System.out.println(st.nextToken());
System.out.println(st.nextToken());
}
}