본문 바로가기
Programming/JAVA(eclipse)

java 11일차 _ 01. 유틸리티 클래스( 날짜 데이터 StringTokenizer )

by yoon9i 2024. 3. 22.

5) java.util.StringTokenizer
==> String 클래스의 split( "/" ) 기능보다 업그레이드된 클래스.

// StringTokenizer(문자열: String str, 구분자: String delim)
StringTokenizer st = new StringTokenizer(s,","); // 메서드로 반환
System.out.println("token 갯수: " + st.countTokens()); // token 갯수: 3

/*
// 첫번째 토큰을 가져온다
System.out.println("token 얻기: " + st.nextToken()); // token 얻기: 홍길동
// 첫번째 토큰 다음토큰 을 가져오는데 이렇게 하면 불편하니까 
반복문을 사용한다
System.out.println("token 얻기: " + st.nextToken()); // token 얻기: 이순신
*/
// ↓
while(st.hasMoreTokens()) {
     System.out.println("token 얻기: " + st.nextToken());
}


// 구분자가 여러개인 경우에도 잘 분리해준다.
String x = "홍|길동,이순|신,유관순/AAA/BBB";
StringTokenizer st2 = new StringTokenizer(x,"/,|");
while(st2.hasMoreTokens()) {
System.out.println("token 얻기(2): " + st2.nextToken());
}
/*
 * >>>
token 얻기(2): 홍
token 얻기(2): 길동
token 얻기(2): 이순
token 얻기(2): 신
token 얻기(2): 유관순
token 얻기(2): AAA
token 얻기(2): BBB
*/

package exam19_Util;

import java.util.Arrays;
import java.util.StringTokenizer;

public class Util05_StringTokenizer {
	
	public static void main(String[] args) {
		
		String s = "홍길동,이순신,유관순"; // token 3개(구분자로 띄워놓은 값의 갯수)
		
		// 1. String 의 split 메서드
		String [] s2 = s.split(","); // 배열로 반환
		System.out.println(Arrays.toString(s2)); // 배열을 출력할때는 Arrays.toString 이 편하다.
		
		// 2. java.util.StringTokenizer 이용
		// StringTokenizer(문자열: String str, 구분자: String delim)
		StringTokenizer st = new StringTokenizer(s,","); // 메서드로 반환
		System.out.println("token 갯수: " + st.countTokens()); // token 갯수: 3
		
		/*
		// 첫번째 토큰을 가져온다
		System.out.println("token 얻기: " + st.nextToken()); // token 얻기: 홍길동
		// 첫번째 토큰 다음토큰 을 가져오는데 이렇게 하면 불편하니까 반복문을 사용한다
		System.out.prinㅅln("token 얻기: " + st.nextToken()); // token 얻기: 이순신	
		 */
		// ↓
		while(st.hasMoreTokens()) {
			System.out.println("token 얻기: " + st.nextToken());
		}
		System.out.println();
		
		// 구분자가 여러개인 경우에도 잘 분리해준다.
		String x = "홍|길동,이순|신,유관순/AAA/BBB";
		StringTokenizer st2 = new StringTokenizer(x,"/,|");
		while(st2.hasMoreTokens()) {
			System.out.println("token 얻기(2): " + st2.nextToken());
		}
		/*
		 * >>>
		token 얻기(2): 홍
		token 얻기(2): 길동
		token 얻기(2): 이순
		token 얻기(2): 신
		token 얻기(2): 유관순
		token 얻기(2): AAA
		token 얻기(2): BBB
		 */
		
	}// end main
}// end class