반응형
Stringtokenizer class
StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자로 문자열을 분리시키는 클래스이다. 사용자에 의해 분리된 문자열들을 토큰(Token)이라 한다.
먼저, StringTokenizer를 사용하기 위해서는 해당 클래스의 모듈을 import 해야 한다.
import java.util.StringTokenizer; 명령어를 통해 모듈을 불러올 수 있다.
import java.util.StringTokenizer;
public class StringTokenizerEx {
public static void main(String[] args) {
String str = "Hello my name is Hong-Gildong, I'm studying Java.";
// StringTokenizer 인스턴스 생성
StringTokenizer tokenizer = new StringTokenizer(str);
// 기존 문자열 출력
System.out.println(str);
// 토큰 메서드를 활용하지 않으면 제대로 출력이 되지 않음
System.out.println(tokenizer);
// countTokens() 메서드를 활용하여 남은 토큰 개수 확인 : 8
System.out.println("남은 토큰 수:" + tokenizer.countTokens());
// 반복문과 nextToken() 메서드를 활용하여 토큰들을 출력
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
// 다시 countTokens()를 확인하여 남은 토큰 개수 확인 : 0 (모두 사용)
System.out.println("남은 토큰 수:" + tokenizer.countTokens());
}
}
토큰을 생성할 때, 구분자를 지정하지 않으면 공백(” “)을 기준으로 문자열을 분리한다.
만약, 임의로 구분자를 지정하고자 한다면, 다음과 같이 인스턴스를 생성하면 된다.
import java.util.StringTokenizer;
public class StringTokenizerEx {
public static void main(String[] args) {
String str = "Hello my name is Hong-Gildong, I'm studying Java.";
// StringTokenizer ","를 기준으로 구분한 인스턴스 생성
StringTokenizer tokenizer = new StringTokenizer(str, ",");
System.out.println("남은 토큰 수:" + tokenizer.countTokens());
System.out.println(tokenizer.nextToken());
System.out.println(tokenizer.nextToken());
System.out.println("남은 토큰 수:" + tokenizer.countTokens());
}
}
위 코드의 경우 “,”를 기준으로 문자열을 분리한 것이다.
따라서 토큰의 개수는 2개이며, 구분된 문자열은 각각 “Hello my name is Hong-Gildong”과 “ I'm studying Java."이다.
StringTokenizer class의 메서드
int countTokens() : 남아있는 토큰의 개수를 반환한다.
boolean hasMoreElements() : 현재 위치 뒤에 사용할 수 있는 토큰이 남아 있는 경우 true, 그렇지 않으면 false를 반환한다.
boolean hsMoreTokens() : boolean hasMoreElements()와 같은 기능이다.
Object nextElement() : 다음 토큰을 Object 타입으로 반환한다.
String nextToken() : 다음 토큰을 String 타입으로 반환한다.
반응형
'언어(Language) > Java' 카테고리의 다른 글
[Java] 자바 연산자(Operator) 종류 및 사용법 정리 (0) | 2022.09.10 |
---|---|
[Java] 자바 StringBuilder와 StringBuffer 정리 및 사용법 (0) | 2022.09.09 |
[Java] 자바의 문자열 클래스 메서드 종류 및 사용법 (String class method) (0) | 2022.09.07 |
[Java] 자바의 문자열 클래스 정리 (String class, 인스턴스) (2) | 2022.09.06 |
[Java] 자바의 데이터 타입 종류와 데이터 타입 변환 (0) | 2022.09.05 |