알버트의 개발하는 블로그

자바 제14강 : 자바 StringTokenizer 클래스로 데이터 나누기 본문

프로그래밍 언어/Java

자바 제14강 : 자바 StringTokenizer 클래스로 데이터 나누기

알버트 2021. 9. 10. 10:14

 

이번 시간에는 자바에서 제공하는 유용한 클래스 중에 하나인 StringTokenizer 클래스를 익혀보겠습니다.

StringTokenizer은 String을 입력받아서 사용자가 지정하는 구분자로 데이터를 나눠주는 역할을 합니다.

StringTokenizer은 구분자를 따로 설정하지 않을 때는 공백이나 탭을 구분자로 설정해줍니다.

구분자를 통해서 구분되어진 데이터를 '토큰'이라고 합니다.

간단한 예제를 통해서 StringTokenizer 클래스를 실습해보겠습니다.

 


StringTokenizer 클래스 예제

import java.util.StringTokenizer;

public class StringTokenizerTest {
	
	public static void main(String[] args) {
	
//		문자열이 공백이나 탭으로 구분된 경우
		String str1 = "사과 배 복숭아	밤 대추";
		
//		StringTokenizer 클래스는 사용자가 지정하는 구분자를 경계로 해서 데이터를 나눠준다.
//		구분자를 지정하지 않으면 공백이나 탭을 기본 구분자로 사용한다.
		StringTokenizer st1 = new StringTokenizer(str1);
		
//		hasMoreTokens() : StringTokenizer객체에 다음 토큰이 있으면 true, 없으면 false를 리턴
		while(st1.hasMoreTokens()){
//			nextToken() : 객체에서 다음 토큰을 읽어온다.
			System.out.println(st1.nextToken());	//읽어온 토큰을 출력하고 한줄 띄어쓰기
		}
		System.out.println("===============================");
		
//		문자열이 ","로 구분된 경우
		String str2 = "사과,배,복숭아,밤,대추";
//		StringTokenizer 클래스 생성자의 2번째 인수로 구분자를 지정할 수 있다.
		StringTokenizer st2 = new StringTokenizer(str2, ",");	//구분자를 ","로 지정
		
		while(st2.hasMoreTokens()){
			System.out.println(st2.nextToken());	
		}
		System.out.println("===============================");

	}
}

 

 

이와 같이 코딩해보았습니다. 문자열 str "사과 배 복숭아 밤 대추" 을 입력받고 StringTokenizer 객체를 만들고 그 안에 str을 넣어주었습니다. while문을 통해서 출력해주었는데요. hasMoreTokens 즉, 객체에서 다음 토큰이 있으면 true를 리턴하므로 데이터가 없어질 때까지 토큰으로 나누어줍니다. 그리고 nextToken을 이용해서 토큰을 출력해줍니다.

str1은 공백이랑 탭으로 구분되었다면, str2는 ","으로 구분되었는데요. 구분자를 설정해주는 방법은 위 코딩처럼 해주면 됩니다. 간단하죠? 이제 한번 실행해볼까요??

 

대표사진 삭제

사진 설명을 입력하세요.

이렇게 주어진 문자열의 데이터들이 구분자를 기준으로 잘 구분되어진 것을 알 수 있습니다. 이처럼 StringTokenizer 클래스는 문자열을 원하는 방식으로 처리할 때 유용하게 사용되어집니다. 읽어주셔서 감사합니다!