[Java] StringTokenizer 사용해보기

PersesTitan·2022년 5월 29일
0

Java

목록 보기
2/16

사용해보니 어떻게 보면 split과 비슷한 것 같습니다. (split의 대체품)

split은 정규식을 이용해서 문자를 자르고, StringTokenizer은 문자 기준으로 문자를 자름니다.

Split : String[]으로 값이 반환됨
StringTokenizer : StringTokenizer으로 값이 반환됨

생성자

  • StringTokenizer token = new StringTokenizer(String s);
  • StringTokenizer token = new StringTokenizer(String s1, String s2);
  • StringTokenizer token = new StringTokenizer(String s1, String s2, boolean b);

new StringTokenizer(String s);

s문장을 공백(\t, \n, \r) 기준으로 자름니다.

예제

import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) {
        String text = "Hello World       \saa\tbb\rHello\nss    Java";
        StringTokenizer tokenizer = new StringTokenizer(text);
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

출력

Hello
World
aa
bb
Hello
ss
Java




new StringTokenizer(String s1, String s2);

s1문장을 s2 기준으로 자름니다.

예제

import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) {
        String text = "Hello World aa bb Hello ss Java";
        StringTokenizer tokenizer = new StringTokenizer(text, "H");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

출력

ello World aa bb 
ello ss Java




StringTokenizer(String s1, String s2, boolean b);

b가 true면 s2를 생략하지 않고 출력함 (false일때는 생략할때와 출력이 일치함)
예제

import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) {
        String text = "Hello World aa bb Hello ss Java";
        StringTokenizer tokenizer = new StringTokenizer(text, "H", true);
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

출력

H
ello World aa bb 
H
ello ss Java




s2에 1글짜 이상일때

예제

import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) {
        String text = "Hello World aa bb Hello ss Java";
        StringTokenizer tokenizer = new StringTokenizer(text, "He", true);
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

출력

H
e
llo World aa bb 
H
e
llo ss Java

이렇게 사용하면 He를 자르는 것이 아니라 H와 e따로 읽는다.


잘못된 정보가 있을시 지적 환영합니다.

정규식 링크

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글

관련 채용 정보