[JAVA] StringTokenizer 사용법

2021. 1. 5. 14:56언어/C#. JAVA

반응형

📚 생성자(Constructor)

public StringTokenizer(String str);
public StringTokenizer(String str, String delim);
public StringTokenizer(String str, String delim, boolean returnDelims);

 

Parameters

  str                       : 분리할 문자열

  delim                 : 문자열을 분리할 문자

  returnDelims : 분리문자까지 토큰으로 포함할지 여부를 결정

                                 true이면 delim 포함, false이면 delim미포함한다. 

 

🔔 주요함수

int countTokens() 

 남아있는 token의 개수를 반환한다. (현재 남아있는 token의 개수)

 

String nextToken()

 다음 token을 반환한다. 

 

boolean hasMoreTokens()

 리턴할 다음 토큰이 있으면 true를 다음 토큰이 없으면 false를 리턴한다.

 

📖 예제

1. Default Delim을 이용

import java.util.StringTokenizer;
class Solution {
    public static void main(String[] args)
    {
        String str = "ABC DEF GHI";

        // delim을 따로 지정하지 않으면 default로 공백
        StringTokenizer tokenizer = new StringTokenizer(str);

        System.out.println("추출 전 token의 수: " + tokenizer.countTokens());

        // 다음 토큰이 있으면 while루프를 탄다.
        while(tokenizer.hasMoreTokens()){ System.out.println(tokenizer.nextToken()); }
        
        System.out.println("추출 후 token의 수: " + tokenizer.countTokens());
    }
}
🔍 실행결과 

추출 전 token의 수: 3  
ABC  
DEF  
GHI  
추출 후 token의 수: 0

 

 

2. 특정 Delim을 이용

import java.util.StringTokenizer;
class Solution {
    public static void main(String[] args)
    {
        String str = "ABC-DEF-GHI";

        // "-" 기준으로 문자열을 분리한다.
        StringTokenizer tokenizer = new StringTokenizer(str, "-");

        System.out.println("추출 전 token의 수: " + tokenizer.countTokens());

        // 다음 토큰이 있으면 while루프를 탄다.
        while(tokenizer.hasMoreTokens()){ System.out.println(tokenizer.nextToken()); }
        
        System.out.println("추출 후 token의 수: " + tokenizer.countTokens());
    }
}

 

🔍 실행결과 

추출 전 token의 수: 3  
ABC  
DEF  
GHI  
추출 후 token의 수: 0

 

 

3. Delim까지 포함

import java.util.StringTokenizer;
class Solution {
    public static void main(String[] args)
    {
        String str = "ABC-DEF-GHI";

        // "-" 기준으로 문자열을 분리하고, 분리문자도 토큰에 포함시킨다.
        StringTokenizer tokenizer = new StringTokenizer(str, "-", true);

        System.out.println("추출 전 token의 수: " + tokenizer.countTokens());

        // 다음 토큰이 있으면 while루프를 탄다.
        while(tokenizer.hasMoreTokens()){ System.out.println(tokenizer.nextToken()); }
        
        System.out.println("추출 후 token의 수: " + tokenizer.countTokens());
    }
}

 

🔍 실행결과 

추출 전 token의 수: 5
ABC
-  

DEF
-  

GHI  
추출 후 token의 수: 0

 

 

 

*참고 사이트 reakwon.tistory.com/90

 

반응형