[Java] StringTokenizer 클래스

Bam·2024년 3월 12일
0

Java

목록 보기
59/98
post-thumbnail

StringTokenizer 클래스

StringTokenizer 클래스는 문자열이 특정 구분자로 구성된 문자열이라면, 해당 분자열을 구분자 기준으로 자르는 클래스입니다. 이때 특정 구분자를 기준으로 잘린 문자열 토막을 Token이라고 부릅니다.

StringTokenizer VS split()

사실 String에 split()이라는 문자열 분할 메소드가 있습니다. 하지만 split()은 인수로 정규 표현을 전달해야한다는 문제점이 있기에 정규 표현식에 익숙하지 않다면 문자열을 전달하는 StringTokenizer를 사용하는 것이 좋을 수도 있습니다.

또한 StringTokenizer는 한 번에 한 구분자만을 받습니다. 그래서 한 문자열에 여러 구분자가 섞여있는 복잡한 문자열의 경우에는 split()을 사용하는 것이 더 좋습니다.


다시 돌아와서 StringTokenizer에서 사용할 수 있는 메소드는 다음과 같습니다.

  • int countTokens(): 토큰의 총 개수를 반환
  • boolean hasMoreTokens(): 토큰이 남아있는지 여부를 반환
  • String nextToken(): 다음 토큰을 반환
public class Main {
    public static void main(String[] args) {
        String str = "사과,배,오렌지,키위,바나나,포도";

        StringTokenizer st = new StringTokenizer(str, ",");	//,를 기준으로 토큰 분할

        System.out.println(st.countTokens());	//토큰의 총 개수 출력

        while (st.hasMoreTokens()) {	//남은 토큰이 더 있는 동안 반복
            System.out.println(st.nextToken());	//토큰 출력
        }
    }
}

0개의 댓글