Languages/Java
[Java] StringTokenizer
조용한고라니
2021. 1. 23. 17:40
반응형
StringTokenizer
문자열을 특정 구분자(delim)로 나누어 주는 클래스이다. 메소드와 생성자 모두 몇 개 없어서 금방 익힐 수 있다. 스트림 API 처럼 한 번 사용되고 나면 재사용이 불가능 하다.
* Constructor
//str을 기본 구분자(\t, \r, \n, \f, " ")로 구분한다.
public StringTokenizer(String str)
//str을 특정 구분자(delim)으로 구분한다.
public StringTokenizer(String str, String delim)
//str을 특정 구분자(delim)으로 구분해주며, returnDelims가
//true일 시 구분자도 토큰에 포함하며
//false일 시 토큰에 포함하지 않는다.
public StringTokenizer(String str, String delim, boolean returnDelims)
* Method
public boolean hasMoreTokens() : 구분자로 나누어진 토큰이 있으면 true, 없으면 false
public String nextToken() : 존재하는 다음 토큰을 반환, 토큰이 없는데 달라고 하면 NoSuchElementException가 발생한다. (nextElement()도 같은 역할)
public String nextToken(String delim) : delim으로 받은 문자를 구분자로 변경 후 다음 토큰을 반환
public int countTokens() : 현재 남은 토큰 개수 반환
* Example
public static void main(String[] args) throws Exception{
String str = "abc 123\r!@#\n456\t789123";
String str1 = "HelloWorld+gorany+blog";
StringTokenizer st = new StringTokenizer(str);
StringTokenizer st1 = new StringTokenizer(str1, "+");
System.out.println("st 토큰의 개수: " + st.countTokens());
System.out.println("st1 토큰의 개수: " + st1.countTokens());
System.out.println("st의 Tokens");
while(st.hasMoreTokens()) {
System.out.print(st.nextToken() + " ");
}
System.out.println("st1의 Tokens");
while(st1.hasMoreTokens()) {
System.out.print(st1.nextToken() + " ");
}
}
st 토큰의 개수: 5
st1 토큰의 개수: 3
st의 Tokens
abc 123 !@# 456 789123
st1의 Tokens
HelloWorld gorany blog
반응형