본문 바로가기

[TIL]자바의 기본 API - StringTokenizer 클래스

인포꿀팁 발행일 : 2020-08-06

StringTokenizer 클래스

  • 긴 문자열을 지정된 구분자(delimiter)를 기준으로 토큰(token)이라는 여러개의 문장열로 잘라내는데 사용된다.
  • 이외에도  String의 split(String regex) 이나 Scanner의 useDecimiter(String pattern)를 사용할수도 있지만 정규식 표현에 익숙하지 않은 상태라면 StringtTokenizer 클래스를 사용하는 것이 좋다.
package ex0806;

import java.util.StringTokenizer;
// StringTokenizer :
//문자열을 구분자로 분류하는 클래스
public class StringTokenizer_Ex1 {
	public static void main(String[] args) {
		String s = "서울,부산,대전,광주,인천";
		
		//문자열을 구분자로 분류
		StringTokenizer st = new StringTokenizer(s,","); // s = 원본 , ","로 구분하겟다는 의미
		
		//countTokens : 파싱할 총 문자열 수
		String[] ss= new String[st.countTokens()]; // 구분자로 나눠진 문자열 수 반환
		
		int n=0;
		while(st.hasMoreTokens()) {//파싱된 문자열이 존재하면
			ss[n++]=st.nextToken();//파싱된 문자열
		}
		for(int i =0; i<ss.length; i++) {
			System.out.println(ss[i]);
		}
	}
}

 

클래스 생성시

StringTokenizer st = new StringTokenizer(원본,",");

원본을 "," 콤마를 기준으로 구분하겠다는 의미

 

주요 메소드


countToken메소드

원형 : int countToken()

 

기능

  • 구분자로 나눠진 문자열 수를 반환한다.

hasMoreTokens메소드

원형 :boolean hasMoreTokens()

 

기능

  • 파싱된 문자열이 존재한지 여부를 true/false 값으로 반환한다.

nextToken메소드

원형 :String [] nextToken()

 

기능

  • 파싱된 문자열을 반환한다.
  • String 배열에 저장한다.

댓글