ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/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