사소한 개발지식/JAVA

JAVA - StringTokenizer (문자열 분리)

2019. 11. 4. 17:37
728x90
반응형

■ StringTokenizer

 

 - String을 token단위로 끊어주는 클래스.

 - 기본적으로 공백문자('\t', '\n', \r', '\f')를 구획문자로 설정.

 - BufferedReader객체를 통해 한줄입력을 받았을 경우, 입력 기준에 따라 문자열을 구분하는 용도로 사용.

 

 

■ StringTokenizer 생성자

 

 - StringTokenizer(String str) : 구획문자(delimiter)를 인자로 받지않는 생성자.

 - StringTokenizer(String str, String delim)

   : 구획문자를 인자로 받는 생성자. 구획문자는 2자리 이상도 설정 가능.

     2자 이상의 구획문자를 받은 경우, 구획문자는 길이가 1로 고정이고 여러개의 구획문자로 설정.

 - StringTokenizer(String str, String delim, boolean returnDelims)

   : returnDelims가 true면 구획문자도 token으로 간주하여 리턴.

 

 

■ StringTokenizer 매서드

 

 - (int) countTokens() : 남은 token의 갯수를 리턴.

 - (String) nextToken() : 다음 token을 리턴. 이전 token 제거.

 - (String) nextToken(String delim) : 구획문자를 delim으로 변경한 후 다음 token을 리턴.

 - (boolean) hasMoreTokens() : 리턴할 다음 token이 있으면 true, 없으면 false

 

 

■ 예제코드

 

import java.util.StringTokenizer;

public class StringTokenizerExercise {

    public static void main(String[] args) {
        String test1 = "this is test String";
        String test2 = "this%is%test%%String";
        String test3 = "this%is$test#String";
        String test4 = "this%%is%$test$String";

        StringTokenizer st;

        // TEST1 : 공백문자로 구분하여 출력
        st = new StringTokenizer(test1);
        System.out.println(st.countTokens());
        while(st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
        System.out.println(st.countTokens());

        // TEST2 : '%'을 구획문자로 구분하여 출력
        st = new StringTokenizer(test2, "%");
        while(st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
        
        // TEST3 : '%', '$', '#'을 구획문자로 구분하여 출력 / 구획문자도 리턴
        st = new StringTokenizer(test3, "%$#", true);
        while(st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
        
        // TEST4 : '%'를 구획문자로 구분하여 출력 하다가 '$'를 구획문자로 변경
        st = new StringTokenizer(test4, "%");
        System.out.println(st.nextToken());
        System.out.println(st.nextToken());
        System.out.println(st.nextToken("$"));
        System.out.println(st.nextToken());
        System.out.println(st.nextToken());
    }
}

 

 

■ 예제출력

 

TEST1 TEST2 TEST3 TEST4
4
this
is
test
String
0
this
is
test
String
this
%
is
$
test
#
String
this
is
%
test
String

 

 

참고 : https://arer.tistory.com/48

728x90
반응형
저작자표시 (새창열림)
'사소한 개발지식/JAVA' 카테고리의 다른 글
  • JAVA - BufferedReader / BufferedWriter (입출력 함수)
KimBY
KimBY
웹개발과 관련된 개발지식 모음
KimBY
B.Y Kim의 개발노트
KimBY
전체
오늘
어제
  • 분류 전체보기 (99)
    • 사소한 개발지식 (49)
      • PHP (2)
      • JavaScript (15)
      • NodeJS (0)
      • JAVA (2)
      • 잡?지식 (4)
      • 로드맵(FE) (22)
      • React (4)
    • 개발노트 (6)
      • 포트폴리오사이트 (6)
    • 프로그래머스 (33)
      • Level1(JS) (0)
      • Level2(JS) (33)
    • 백준알고리즘 (11)
      • 단계별로 풀어보기3(for문) (11)
    • 잡담 (0)

인기 글

최근 글

최근 댓글

태그

  • frontend
  • react
  • 단계별로풀어보기
  • 프로그래머스
  • Level2
  • 로드맵
  • 백준알고리즘
  • CSS
  • javascript
  • FE로드맵
hELLO · Designed By 정상우.
KimBY
JAVA - StringTokenizer (문자열 분리)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.