기본적으로 구분자 집합에는 “\t\n\r\f” 를 사용
public class Solution {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in);
StringTokenizer st = new StringTokenizer(br.readLine());
}
}
| Constructor | Description |
|---|---|
| StringTokenizer(String str) | 매개변수로 받은 문자열을 기본 구분자(\t\n\r\f)로 분리 |
| StringTokenizer(String str, String delim) | 매개변수로 받은 문자열을 특정 구분자(delim)로 분리 |
| StringTokenizer(String str, String delim, boolean returnDelims) | 매개변수로 받은 문자열을 특정 구분자(delim)로 분리하되 returnDelims이 true면, 구분자도 token으로 포함, false면 구분자 제외 |
public class Solution {
public static void main(String[] args) throws IOException{
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.nextToken()); // hello
System.out.println(st.nextToken()); // is
}
}
public class Solution {
public static void main(String[] args) throws IOException{
String test= "hello_my_name_is_kathy";
StringTokenizer st = new StringTokenizer(test,"_");
System.out.println(st.nextToken()); // hello
System.out.println(st.nextToken()); // is
}
}
public class Solution {
public static void main(String[] args) throws IOException{
String test= "hello_my_name_is_kathy";
StringTokenizer st = new StringTokenizer(test,"_",true);
System.out.println(st.nextToken()); // hello
System.out.println(st.nextToken()); // _
}
}
public class Solution {
public static void main(String[] args) throws IOException{
String test= "hello_my_name_is_kathy";
StringTokenizer st = new StringTokenizer(test,"_",false);
System.out.println(st.nextToken()); // hello
System.out.println(st.nextToken()); // is
}
}
| Type | Method | Description |
|---|---|---|
| int | countTokens() | nextToken의 예외가 발생하기 전에 nextToken 메서드를 호출 할 수 있는 횟수 계산 |
| boolean | hasMoreToken() | 사용할 수 있는 토큰이 더 있는지 확인 |
| boolean | hasMoreElements() | 사용할 수 있는 토큰이 더 있는지 확인 |
| object | nextElement() | nextToken()과 비슷하지만 String이 아닌 Object를 반환 |
| string | nextToken() | 다음 토큰을 String으로 반환 |
| string | nextToken(String delim) | 특정 구분자(delim)를 가지고 구분하여 다음 토큰을 String으로 반환 |
nextToken의 예외가 발생하기 전에 nextToken 메서드를 호출 할 수 있는 횟수 계산
public static void main(String[] args) throws IOException {
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.countTokens()); // 5
}
사용할 수 있는 토큰이 더 있는지 확인
public static void main(String[] args) throws IOException {
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.hasMoreTokens()); // true
}
public static void main(String[] args) throws IOException {
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
/*
hello
my
name
is
kathy
*/
다음 토큰을 String으로 반환
public static void main(String[] args) throws IOException {
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.nextToken()); // hello
}
특정 구분자(delim)를 가지고 구분하여 다음 토큰을 String으로 반환
public static void main(String[] args) throws IOException {
String test= "hello_my_name_is_kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.nextToken("_")); // hello
}
nextToken()과 비슷하지만 String이 아닌 Object를 반환
public static void main(String[] args) throws IOException {
String test= "hello my name is kathy";
StringTokenizer st = new StringTokenizer(test);
System.out.println(st.nextElement()); // hello
}