Menu
Coddy logo textTech

문자열 토크나이저

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 48번째.

StringTokenizer는 구분 기호를 기반으로 문자열을 토큰(더 작은 부분)으로 분할하는 데 사용됩니다. 기본적으로 공백을 구분 기호로 사용합니다.

기본 구분자(공백)로 StringTokenizer 생성:

StringTokenizer st = new StringTokenizer("Hello World Java");

토큰 개수 세기 및 가져오기:

int count = st.countTokens();
// 토큰 수를 가져옵니다
String first = st.nextToken();
// 다음 토큰을 가져옵니다

위의 코드를 실행한 후, 변수에는 다음이 포함되어 있습니다:

count: 3
first: "Hello"

nextToken()을 호출하면 해당 토큰을 토크나이저에서 제거합니다. countTokens() 메서드는 남은 토큰의 수를 반환합니다.

StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens());  // 출력: 3

st.nextToken();  // 소비: "Hello"
System.out.println(st.countTokens());  // 출력: 2 (3이 아님!)

st.nextToken();  // 소비: "World"
System.out.println(st.countTokens());  // 출력: 1

팁: 총 토큰 수를 알고 싶다면, 토큰을 소비하기 전에 countTokens()를 호출하세요. 반복하면서 더 많은 토큰이 있는지 확인하려면 hasMoreTokens()를 사용하세요.

challenge icon

챌린지

쉬움

tokenizeText라는 이름의 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:

  1. 토큰화할 String (text)
  2. 분할할 String (delimiter)

메서드는 다음을 수행해야 합니다:

  1. 주어진 text와 delimiter로 StringTokenizer를 생성하세요
  2. 토큰 수와 각 토큰을 새 줄에 포함한 문자열을 반환하세요

반환 메시지는 다음과 같아야 합니다:

  • text가 null인 경우: return "Invalid text"
  • delimiter가 null인 경우: use space as delimiter
  • Format: "Token count: X\nToken: token1\nToken: token2\n..."

치트 시트

StringTokenizer는 구분자를 기준으로 문자열을 토큰(더 작은 부분)으로 분할합니다. 기본적으로 공백을 구분자로 사용합니다.

기본 구분자(공백)로 StringTokenizer 생성:

StringTokenizer st = new StringTokenizer("Hello World Java");

토큰 수 세기 및 가져오기:

int count = st.countTokens();  // 토큰 수 가져오기
String first = st.nextToken(); // 다음 토큰 가져오기

사용자 지정 구분자로 StringTokenizer 생성:

StringTokenizer st = new StringTokenizer(text, delimiter);

nextToken()을 호출하면 해당 토큰이 토크나이저에서 제거됩니다. countTokens() 메서드는 남은 토큰의 수를 반환합니다.

StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens());  // 3 출력

st.nextToken();  // "Hello" 소비
System.out.println(st.countTokens());  // 2 출력 (3이 아님!)

st.nextToken();  // "World" 소비
System.out.println(st.countTokens());  // 1 출력

팁: 전체 토큰 수를 알고 싶다면 토큰을 소비하기 전에 countTokens()를 호출하세요. 반복 중 더 많은 토큰이 있는지 확인하려면 hasMoreTokens()를 사용하세요.

직접 해보기

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static String tokenizeText(String text, String delimiter) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String delimiter = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (delimiter.equals("null")) delimiter = null;
        
        System.out.println(tokenizeText(text, delimiter));
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨