반응형
12-24 07:02
Today
Total
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
관리 메뉴

개발하는 고라니

[Java] StringTokenizer 본문

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
반응형

'Languages > Java' 카테고리의 다른 글

[Java] 클래스와 객체  (0) 2021.03.01
[Java] 우선순위 큐(Priority Queue)  (0) 2021.01.28
[Java] 람다식  (0) 2021.01.26
[Java] Stream  (0) 2020.12.30
[Java] 'Jsoup'을 이용한 Java 크롤링  (0) 2020.12.14
Comments