본문 바로가기
언어/JAVA

StringTokenizer

by 코딩맛집 2023. 4. 2.

StringTokenizer 클래스는 우리가 지정한 구분자로 문자열을 나눠주는 클래스이다.

나눠진 문자열을 토큰이라고 부른다.

 

생성자(Constructor)

생성자       설명          
public StringTokenizer(String str); 매개변수를 기본 delim으로 분리한다. 기본 delim은 공백 문자이다. <공백 문자 : \n(줄바꿈), \t(탭), \r(캐리지 리턴), \f(폼 피드)> 
public StringTokenizer(String str, String delim); 지정한 delim으로 문자열을 분리합니다.
public StringTokenizer(String str, String delim, boolean returnDelims); 지정한 delim으로 문자열을 분리하는데, 지정된 delim까지 token으로 포함할지 말지 결정한다. (returnDelims = true, 포함 / returnDelims = false, 미포함)

 

StringTokenizer클래스가 갖고 있는 6개 메서드

int countTokens()

남아있는 token의 개수를 반환합니다. 전체 token의 갯수가 아닌 현재 남아있는 token 개수이다.

 

boolean hasMoreElements(), boolean hasMoreTokens()

다음의 token을 반환한다. StringTokenizer는 내부적으로 어떤 위치의 토큰을 사용했는지 기억하며 다음 위치로 옮긴다.

 

Object nextElement(), String nextToken(), String nextToken(String delim)

다음의 token을 반환한다. 같은 객체를 반환하지만 반환형은 다르다.

 

1) StringTokenizer(String str)

 

import java.util.StringTokenizer;

public class 토큰사용법 {
    public static void main(String[] args){
        String str = "this string\tincludes\ndefault delims";
        StringTokenizer stk = new StringTokenizer(str);
        System.out.println(str);
        System.out.println();

        System.out.println("total tokens : " + stk.countTokens() );

       while(stk.hasMoreElements()){
           System.out.println(stk.nextToken());
       }
        System.out.println("total tokens : " + stk.countTokens());

    }

}
// 출력

this string	includes
default delims

total tokens : 5
this
string
includes
default
delims
total tokens : 0

 

2) StringTokenizer(String str, String delim)

public static void main(String args[]) {
  StringTokenizer stringTokenizer =
          new StringTokenizer("Hello Java! Hello React!, Hello C#!", "Hello");

  while(stringTokenizer.hasMoreTokens()) {
    System.out.println(stringTokenizer.nextToken());
  }
}
//출력

 Java! 
 R
act!, 
 C#!

구분 문자열 "Hello"를 전달하면, "H", "e", "l","o"를 기준으로 분할한다.

 

3) StringTokenizer(String str, String delim, boolean returnDelims)

public static void main(String args[]) {
  StringTokenizer stringTokenizer =
          new StringTokenizer("Apple_Banana_Watermelon!", "_", false);

  while(stringTokenizer.hasMoreTokens()) {
    System.out.println(stringTokenizer.nextToken());
  }
}
//출력

Apple
Banana
Watermelon!

공부용입니다.

 

'언어 > JAVA' 카테고리의 다른 글

[Java] 배열을 문자열로 변환  (0) 2023.05.02
String.valueOf()과 Object.toString() 차이점  (0) 2023.05.02
[chapter 13] 확인 문제  (0) 2023.03.02
[멀티 스레드2]  (0) 2023.02.27
[chapter 9] 확인 문제  (0) 2023.02.06