프로그래밍 언어/JAVA

[JAVA] StringTokenizer 클래스

NaNaRin🙃 2021. 1. 15. 17:29

docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/StringTokenizer.html

 

StringTokenizer (Java SE 15 & JDK 15)

All Implemented Interfaces: Enumeration public class StringTokenizer extends Object implements Enumeration The string tokenizer class allows an application to break a string into tokens. The tokenization method is much simpler than the one used by the Stre

docs.oracle.com

java.util 에 속해있는 클래스. 문자열을 지정한 구분자로 쪼개준다.


StringTokenizer : 

- 쪼개진 문자열을 Token이라고 부름

  • StringTokenizer(String str) : str을 기본 delim으로 분리. 기본 delimiter는 공백 문자 \t, \n, \r, \t
  • StringTokenizer(String str, String delim) : str을 delim으로 분리.
  • StringTokenizer(String str, String delim, boolean returnDelims) : str을 delim으로 분리, 그 delim까지 토큰으로 포함시킬지 말지 결정. returnDelims로 true 전달시 포함, false 전달시 불포함

 

  • int countTokens() : 전체 토큰의 개수가 아닌 남아있는 토큰의 개수 반환
  • boolean hasMoreElements() : 다음 토큰이 존재하는지 확인. 존재한다면 true, 존재하지 않으면 false 반환
  • boolean hasMoreTokens() : 다음 토큰이 존재하는지 확인. 존재한다면 true, 존재하지 않으면 false 반환
  • Object nextElement() : 다음 토큰 반환 (Object형)
  • String nextToken() : 다음 토큰 반환
  • String nextTokens(String delim2) : 기존 delim을 새 delim2로 변경하고 다음 토큰 반환

 

 

StringTokenizer.countTokens()

StringTokenizer.hasMoreElements()

StringTokenizer.hasMoreTokens()

StringTokenizer.nextElement()

StringTokenizer.nextToken()

StringTokenizer.nextToken(delim)


예제

import java.util.StringTokenizer;

public class StringTokenizerEx {

	public static void main(String[] args) {
		String str1 = "ABC DEF G HI JKLMN OP";
		String str2 = "Happy-New=-Year-2021";
		String str3 = "I!like!!programming!!!I!hate!English!";
		
		StringTokenizer st1 = new StringTokenizer(str1);
		while(st1.hasMoreTokens()) {
			System.out.println(st1.nextToken());
		}
		System.out.println();
		
		StringTokenizer st2 = new StringTokenizer(str2, "-=");
		while(st2.hasMoreTokens()) {
			System.out.println(st2.nextToken());
		}
		System.out.println();
		
		StringTokenizer st3 = new StringTokenizer(str2, "-=", true);
		while(st3.hasMoreTokens()) {
			System.out.println(st3.nextToken());
		}
		System.out.println();
		
		StringTokenizer st4 = new StringTokenizer(str3, "!", true);
		while(st4.hasMoreTokens()) {
			System.out.println(st4.nextToken());
		}
		System.out.println();
		
		StringTokenizer st5 = new StringTokenizer(str2, "=");
		System.out.println(st5.nextToken());
		System.out.println(st5.nextToken("-"));
		System.out.println(st5.nextToken());
		System.out.println(st5.nextToken());
		System.out.println();
		
		
	}
}

 

출력

ABC
DEF
G
HI
JKLMN
OP

Happy
New
Year
2021

Happy
-
New
=
-
Year
-
2021

I
!
like
!
!
programming
!
!
!
I
!
hate
!
English
!

Happy-New
=
Year
2021

 

 

사용 예 : nanarin.tistory.com/48