Program/Java Programming

StringTokenizer 클래스(문자열 파싱하기)

Hue Kim 2012. 9. 23. 02:01

 로직을 짜다보면 문자열을 다뤄야 하거나 문자열을 잘라내어 일부부만 쓰려는 경우가 많은데 구분자로 문자열을 쪼개는 작업을 

파싱(Parsing)이라한다. 

 토큰은 전체 문자열을 구분자로 쪼갠 단위이고, 이때 구분되는 문자열 or 문자를 구분자라한다.


 StringTokenizer str = new StringTokenizer("2012/09/22","/");
///StringTokenizer str = new StringTokenizer(파싱대상문자열, 구분자);

2012/09/22 이라는 문자열을 "/"으로 파싱한다.


문자열 파싱을 위해서는 java.util.StringTokenizer 클래스가 필요한데, 소스맨앞에 import java.util.*; 로 유틸클래스 전체를 임폴트 시켜주면 된다.



 메소드

설명 

 String nextToken() 

 파싱해서 구한 토큰을 반환 

 String nextToken(String delim) 

 새로운 구분자 delim을 써서 구한 토큰을 반환

 boolean hasMoreTokens() 

 파싱된 문자열이 nextToken()메소드를 실행한 후에 아직 넘겨주지 않은 토큰이 있는지 여부를 반환 

 int countTokens() 

 파싱한 결과로 구한 토큰이 모두 몇 개인지 반환 


import java.util.*;
//StringTokenizer 클래스 사용을 위해서 java.util 클래스를 import

public class StringTokenProg {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StringTokenizer str = new StringTokenizer("2012/09/23", "/");
		//StringTokenizer 클래스 생성,파싱하려는 문자열 "2012/09/23", 구분자 "/"
		int count;

		count = str.countTokens();
		//파싱한 결과로 구한 토큰이 모두 몇개인지 반환
		System.out.println("파싱할 문자열의 수는 총" + count + " 개");

		while (str.hasMoreTokens()) {
		//아직 파싱할 토큰이 더 있는지 여부를 확인한다
			System.out.println(str.nextToken());
			//파싱해서 구한 다음토큰을 반환한다.
		}

	}

}

파싱할 문자열의 수는 총3 개

2012

09

23