JAVA

[JAVA] StringTokenizer

ssh9308 2022. 3. 23. 17:16
반응형

StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자로 문자열을 쪼개주는 클래스이다.

해당 규칙으로 쪼개어진 문자열을 Token 이라고 부른다.

 

StringTokenizer 클래스는 java > util 패키지 내에 속해있다.

그리하여 해당 클래스를 사용해주려면 import java.util.StringTokenizer; 를 기입해줘야한다.

 

기본적인 아이디어를 도식화 해보면 아래와 같다.

"banana apple mango kiwi" 라는 단어가 있고 해당 문자열을 "*" 로구분하여 나눠준다는 아이디어이다.

즉 결과는 "banana", "apple", "mango", "kiwi" 가 나올 것이다.

 

 

 

import java.io.*;
import java.util.*;

public class Main
{   
	public static void main(String[] args) throws Exception {
	    
	    String fruit = "banana*apple*mango*kiwi";
	    
	    StringTokenizer stk = new StringTokenizer(fruit,"*");
	    
	    while(stk.hasMoreElements()) {
	        System.out.println(stk.nextElement());
	    }  
	}
}

 

 

StringTokenizer 클래스의 설명은 아래와 같다.

 

생성자(Constructor)

 

1.StringTokenizer(String str)

 

- 전달된 String 매개변수를 기본 delim 으로 분리함 기본 delimeter 는 공백문자들.

 

import java.io.*;
import java.util.*;

public class Main
{   
	public static void main(String[] args) throws Exception {
	    
	    String fruit = "banana apple mango kiwi";
	    
	    StringTokenizer stk = new StringTokenizer(fruit);
	    
	    while(stk.hasMoreElements()) {
	        System.out.println(stk.nextElement());
	    }
	    
	    
	}
}

 

2.StringTokenizer(String str, String delim)

 

- 전달된 String 매개변수를 전달된 delim 변수로 분리함.

 

import java.io.*;
import java.util.*;

public class Main
{   
	public static void main(String[] args) throws Exception {
	    
	    String fruit = "banana*apple*mango*kiwi";
	    
	    StringTokenizer stk = new StringTokenizer(fruit,"*");
	    
	    while(stk.hasMoreElements()) {
	        System.out.println(stk.nextElement());
	    }  
	}
}

 

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

 

- 전달된 String 매개변수를 전달된 delim 변수로 분리함. 세번째 파라미터에 true 가 들어가면 해당 delim까지 토큰으로 취급하고 false 가 들어가면 해당 delim은 토큰으로 취급하지 않음.

 

- 즉 세번째 파라미터가 false 인 경우는 StringTokenizer(String str, String delim) 의 역할과 같음

 

import java.io.*;
import java.util.*;

public class Main
{   
	public static void main(String[] args) throws Exception {
	    
	    String fruit = "banana*apple*mango*kiwi";
	    
	    StringTokenizer stk = new StringTokenizer(fruit,"*",true);
	    
	    while(stk.hasMoreElements()) {
	        System.out.println(stk.nextElement());
	    }
	    
	    
	}
}

 

 

메소드(Method)

 

1. int countTokens

- 남아 있는 현재 토큰의 개수를 반환함.

 

2. Object nextElement(), String nextToken()

- StringTokenizer는 내부적으로 cursor 와 같은 역할을 수행하는데 어떤 위치의 토큰을 사용하였는지 기억하고 해당 위

치를 다음 토큰의 위치로 옮겨준다.

 

3. boolean hasMoreElements(), boolean hasMoreTokens()

- 현재의 커서에 토큰이 있다면 true 토큰이 없다면 false 를 반환

 

반응형