java.util.StringTokenizer 클래스는 문자열을 특정 구분자(delimiter)를 기준으로 토큰(token)으로 나누는 데 사용되는 클래스입니다. 이 클래스는 간단하게 문자열을 분리하고자 할 때 유용하게 활용될 수 있습니다.
StringTokenizer 클래스의 주요 메서드
1. StringTokenizer(String str) 생성자
주어진 문자열을 기본 구분자(공백)를 기준으로 토큰으로 나눕니다.
StringTokenizer tokenizer = new StringTokenizer("This is a sample sentence");
2. StringTokenizer(String str, String delim) 생성자
주어진 문자열을 지정된 구분자를 기준으로 토큰으로 나눕니다.
StringTokenizer tokenizer = new StringTokenizer("apple,orange,banana", ",");
3. countTokens() 메서드
남아 있는 토큰의 개수를 반환합니다.
StringTokenizer tokenizer = new StringTokenizer("This is a sample sentence");
int tokenCount = tokenizer.countTokens();
System.out.println("Number of tokens: " + tokenCount);
4. hasMoreTokens() 메서드
더 이상 토큰이 없는지 여부를 확인합니다.
StringTokenizer tokenizer = new StringTokenizer("This is a sample sentence");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token);
}
5. nextToken() 메서드
다음 토큰을 반환합니다.
StringTokenizer tokenizer = new StringTokenizer("apple orange banana");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token);
}
6. nextToken(String delim) 메서드
지정된 구분자를 사용하여 다음 토큰을 반환합니다. (Java 1.4 이후 버전에서 사용 가능)
StringTokenizer tokenizer = new StringTokenizer("apple,orange,banana", ",");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token);
}
주의사항
- StringTokenizer는 구분자를 기준으로 문자열을 나누기 때문에, 간단한 문자열 분리에 사용됩니다.
- String.split() 메서드를 사용하는 것이 더 간편하고 편리한 경우가 많습니다.
- Java 5 이후의 버전에서는 String.split() 메서드나 정규표현식을 사용하는 것이 더 강력하고 유연한 방법일 수 있습니다.
아래는 StringTokenizer 클래스를 사용한 간단한 예제입니다.
import java.util.StringTokenizer;
public class StringTokenizerExample {
public static void main(String[] args) {
String fruits = "apple orange banana";
// 문자열을 공백을 기준으로 토큰으로 나누기
StringTokenizer tokenizer = new StringTokenizer(fruits);
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token);
}
}
}
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 java.math.BigDecimal클래스 (0) | 2023.11.16 |
---|---|
자바 java.math.BigInteger클래스 (0) | 2023.11.16 |
자바 java.util.Scanner클래스 (0) | 2023.11.15 |
자바 java.util.regex패키지 (0) | 2023.11.15 |
자바 java.util.Random클래스 (0) | 2023.11.15 |