Java의 StringTokenizer 클래스 는 지정된 구분 기호를 기반으로 문자열을 토큰으로 분할하기 위한 토크나이저 String 메소드를 제공합니다. 토크나이저 문자열은 쉼표, 세미콜론 또는 공백과 같이 토큰을 구분하는 모든 문자열일 수 있습니다. StringTokenizer 클래스 의 토크나이저 String 메소드를 사용하여 문자열을 구성 부분으로 분할할 수 있습니다. nextToken() 메소드를 호출하면 각 토큰을 차례로 검색할 수 있고, hasMoreTokens() 메소드를 사용하면 토큰이 더 남아 있는지 확인할 수 있습니다. StringTokenizer 클래스의 length () 메서드를 사용하여 각 토큰의 길이를 가져올 수 있습니다. StringTokenizer String은 문자열 조작에 유용한 도구이며 CSV 파일, URL 또는 기타 텍스트 기반 데이터를 구문 분석하는 데 사용할 수 있습니다. StringTokenizer 클래스는 Java.util 패키지 의 일부 이며 문자열을 토큰으로 분할하는 간단한 방법을 제공합니다 . 클래스에는 두 개의 생성자가 있습니다. 하나는 토큰화할 문자열과 구분 기호 문자 또는 문자열을 사용하고, 다른 하나는 동일한 인수와 구분 기호를 토큰으로 포함할지 여부를 나타내는 부울 플래그를 사용합니다. StringTokenizer 개체를 만든 후에는 다양한 메서드를 사용하여 토큰을 반복하고 이에 대한 다양한 작업을 수행할 수 있습니다.

토큰화 방법

토큰화 방법은 문자열을 더 작은 부분이나 토큰으로 분할하는 프로세스입니다. 이 프로세스는 각 토큰을 구분하는 문자 또는 문자열일 수 있는 구분 기호를 사용하여 수행됩니다. 예를 들어 다음 문자열을 고려해보세요.

String input = "Hello World! How are you today?";
이 문자열을 개별 단어로 분할하려면 다음과 같이 공백 문자를 구분 기호로 사용할 수 있습니다.

StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

산출

안녕하세요 월드! 오늘 기분이 어떠세요?
이 예에서는 입력 문자열과 공백 문자를 구분 기호로 사용하여 새 StringTokenizer 개체를 만듭니다 . 그런 다음 hasMoreTokens() 메서드를 사용하여 토큰을 반복 하고 nextToken() 메서드를 사용하여 각 토큰을 검색합니다. 마지막으로 각 토큰을 콘솔에 인쇄합니다.

토큰 길이

nextToken() 메서드 에서 제공하는 기본 기능 외에도 StringTokenizer 클래스는 각 토큰의 길이를 검색하고 인덱스별로 특정 토큰을 검색하는 메서드도 제공합니다. 현재 토큰의 길이를 얻으려면 token.length() 메서드를 사용할 수 있습니다. 예를 들어:

public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

산출

토큰: Hello 길이: 5 토큰: World! 길이: 6 토큰: 어떻게 길이: 3 토큰: 길이: 3 토큰: 당신 길이: 3 토큰: 오늘? 길이: 6
이 예에서는 이전과 같이 각 토큰을 검색하지만 length() 메서드를 사용하여 각 토큰의 길이를 가져온 다음 콘솔에 인쇄합니다.

Java에서 StringTokenizer 클래스 를 사용하는 방법을 보여주는 전체 예제를 살펴보겠습니다 .

public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

산출

John Doe 123 메인 스트리트 Anytown USA
이 예에는 쉼표로 구분된 값 목록을 나타내는 문자열이 있습니다. 이 문자열과 쉼표를 구분 기호로 사용하여 새 StringTokenizer 개체를 만듭니다 . 그런 다음 hasMoreTokens() 메서드를 사용하여 토큰을 반복 하고 nextToken() 메서드를 사용하여 각 토큰을 검색합니다. 마지막으로 각 토큰을 콘솔에 인쇄합니다. 이 예에서는 개별 토큰 자체에만 관심이 있으므로 length() 메서드를 사용하지 않았습니다 .

StreamTokenizer 클래스

StringTokenizer 클래스는 문자열을 토큰으로 분할하는 간단한 방법을 제공 하지만 몇 가지 제한 사항이 있습니다. 예를 들어 여러 구분 기호나 숫자, 단어 등 다양한 유형의 토큰을 처리할 수 없습니다. 고급 토큰화 기능이 필요한 경우 StreamTokenizer 클래스를 사용할 수 있습니다. 이 클래스는 더 많은 유연성을 제공하고 다양한 입력 유형을 처리할 수 있습니다. 배운 내용을 강화하려면 Java 과정의 비디오 강의를 시청하는 것이 좋습니다.

결론

이 기사에서는 Java의 StringTokenizer 클래스를 살펴보고 이 클래스를 사용하여 문자열을 토큰으로 분할하는 방법을 살펴보았습니다. 또한 클래스의 메서드 중 일부를 사용하여 길이를 가져오고 인덱스로 특정 토큰을 검색하는 등 토큰에 대한 다양한 작업을 수행하는 방법도 살펴보았습니다. StringTokenizer 클래스는 간단하고 유용한 도구 이지만 제한 사항이 있습니다. 고급 토큰화 기능이 필요한 경우 StreamTokenizer 클래스나 Apache Commons Lang과 같은 보다 강력한 라이브러리를 사용하는 것이 좋습니다. 사용할 도구와 기술을 결정할 때 항상 프로젝트의 특정 요구 사항을 고려하는 것을 잊지 마십시오. Java의 문자열 조작 클래스 및 메소드에 대한 확실한 이해를 통해 가장 복잡한 문자열 조작 작업도 쉽게 처리할 수 있습니다.