[Java] StringTokenizer Class 사용 및 Split 비교

2022. 12. 12. 14:06 JAVA/Java

StringTokenizer Class ?

문자열을 스페이스, 특정 구분자 등의 기준으로 분리할 때 사용

 

 

StringTokenizer 구문

StringTokenizer st = new StringTokenizer("문자열");	// 띄어쓰기 기준으로 문자열 분리

  

StringTokenizer st = new StringTokenizer("문자열", "구분자");	// 구분자 기준으로 문자열 분리

  

StringTokenizer st = new StringTokenizer("문자열", "구분자", boolean);	
// 구분자 기준으로 문자열 분리할 때 구분자도 Token으로 넣을지(true), 말지(false default)

 

 

StringTokenizer 라이브러리 Import

import java.util.StringTokenizer;

 

 

StringTokenizer Method

반환값 메서드명 역할
boolean hasMoreTokens 남아있는 토큰이 있으면 True
더 이상 토큰이 없으면 False
String nextToken 객체에서 다음 토큰 반환
String nextToken(String delim) delim 기준으로 다음 토큰 반환
boolean hasMoreElements hasMoreTorkens와 동일
Object nextElement nextToken과 동일하지만 문자열이 아닌 객체 반환
int countTokens 총 토큰의 개수 반환

 

 
 

 

Example1. 공백으로 분리

import java.util.StringTokenizer;
public class Main {
	public static void main(String[] args) {
		String str = "Welcome Haenny Blog";
		StringTokenizer st = new StringTokenizer(str);

		System.out.println(st.nextToken());
		System.out.println(st.nextToken());
		System.out.println(st.nextToken());
	}
}

 

Welcome
Haenny
Blog

 

 

Example2. 여러 구분자로 분리

import java.util.StringTokenizer;
public class Main {
	public static void main(String[] args) {
		String str = "Best Blog - 해니블로그 : haenny.tistory.com";
		StringTokenizer st = new StringTokenizer(str, "-:"); // -와 : 구분자로 분리

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

  

Best Blog
해니 블로그
haenny.tistory.com

 

StringTokenizer  vs  Split

  StringTokenizer split
  java.util 에 포함된 Class String Class의 method
  문자/문자열로 문자열 구분 정규표현식으로 구분
  빈 문자열을 토큰으로 인식하지 않음 빈 문자열을 토큰으로 인식함
  결과 값 = 문자열 결과 값 = 문자열 배열

 

출처 : https://haenny.tistory.com/336