[Java] StringTokenizer 란?

2025. 7. 10. 17:31·Backend/Java

1️⃣StringTokenizer이란

  • 문자열을 구분자를 이용하여 분리할 때 사용한다.
  • 공백 혹은 컴마를 기준으로 문자열을 분리하고 싶을 때, 아니면 특정 문자열을 나누고 싶을 때 StringTokenizer을 사용한다.
  • 주로 BufferedReader를 사용할 때 활용한다.

 

2️⃣생성하는 방식

1. 띄어쓰기를 기준으로 문자열을 분리

StringTokenizer st = new StringTokenizer(문자열);
// StringTokenizer st = new StringTokenizer("aa bb cc");

2. 구분자를 기준으로 문자열을 분리

StringTokenizer st = new StringTokenizer(문자열, 구분자);
// StringTokenizer st = new StringTokenizer("aa!bb!cc", "!");

 

3️⃣ 예시

1. 문자열을 띄어쓰기 기준으로 분리하기

public static void main(String[] args) {
    String str = "안녕하세요 반갑습니다.";
    StringTokenizer st = new StringTokenizer(str); // 구분자 x

    while (st.hasMoreTokens()) {
        System.out.println(st.nextToken());
    }
}

/*
안녕하세요
반갑습니다.
*/

 

2. 원하는 구분자를 기준으로 분리

public static void main(String[] args) {
    // 여러 구분자("="와 ";")를 지정하여 사용
    StringTokenizer st = new StringTokenizer("key=value;name=user", "=;");
    while (st.hasMoreTokens()) {
        System.out.println(st.nextToken());
    }
}

/*
key
value
name
user
*/

 

3. 토큰 개수 확인하기

public static void main(String[] args)  {
    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine(); // "aa bb ccc"

    StringTokenizer st = new StringTokenizer(str);
    System.out.println(st.countTokens()); // 3
}

 

4️⃣StringTokenizer의 메서드

반환 타입 메서드 역할
boolean hasMoreTokens() 남아있는 토큰이 있으면 true를 리턴, 더 이상 토큰이 없으면 false 리턴
String nextToken() 객체에서 다음 토큰을 반환
String nextToken(String delim) delim 기준으로 다음 토큰을 반환
boolean hasMoreTokens hasMoreTokens와 동일한데 엘리먼트보다 토큰으로 된 메서드를 주로 사용
Object nextElement() nextToken 메서드와 동일하지만 문자열이 아닌 객체를 리턴
int countTokens() 총 토큰의 개수를 리턴

 


💡함께 학습하면 좋은 글 

 

[Java, 입출력] BufferedReader, BufferedWriter 란?

0️⃣사용 시 주의사항(1) 클래스를 import해주어야 한다.import java.io.IOException;(2) main 클래스 옆에 throws IOException를 작성한다.public static void main(String[] args) throws IOException {}1️⃣BufferedReader의 특징사

devoks.tistory.com

 

[Java, String] split() 메서드 정리 - 문자열 자르기

Java String split() 메서드 완벽 정리Java에서 문자열을 분할하는 가장 기본적이고 중요한 메서드인 split()에 대해 자세히 알아보겠습니다.이 메서드는 정규식을 사용하여 문자열을 배열로 분할하는

devoks.tistory.com

 

'Backend > Java' 카테고리의 다른 글

[Java, String] split() 메서드 정리 - 문자열 자르기  (0) 2025.07.13
[Java, Stack] 왜 Stack이 아닌 Deque로 스택을 구현해야 할까?  (1) 2025.07.10
[Java] BufferedReader, BufferedWriter 란?  (0) 2025.07.10
[Java] 정렬 알고리즘 정리  (1) 2025.07.02
[EffectiveJava] Item 14. Comparable을 구현할지 고려하라  (1) 2025.07.01
'Backend/Java' 카테고리의 다른 글
  • [Java, String] split() 메서드 정리 - 문자열 자르기
  • [Java, Stack] 왜 Stack이 아닌 Deque로 스택을 구현해야 할까?
  • [Java] BufferedReader, BufferedWriter 란?
  • [Java] 정렬 알고리즘 정리
devoks
devoks
꾸준히 작성해보자!
  • devoks
    ok's 개발 블로그
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기 (112) N
      • Backend (15)
        • SpringBoot (0)
        • Java (15)
      • Cs (18) N
      • Infra (0)
        • AWS (0)
        • Docker (0)
      • CodingTest (79)
        • Programmers (79)
  • 링크

    • My GitHub
  • 인기 글

  • 태그

    programmers
    effectivejava
    java
    CS
    BufferedReader
    StringTokenizer
    codingtest
    switch
    json
    BufferedWriter
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[Java] StringTokenizer 란?
상단으로

티스토리툴바