ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • StringTokenizer
    java 2020. 5. 7. 14:10

    StringTokenizer

    -문자열을 구분자를 통해 잘라내어 사용할 수 있도록 하는 클래스이다.

    -구분자에 의해 잘려진 문자열 들을 토큰이라고 부른다.

    -구분자를 지정하지 않으면 공백이 구분자가 된다.

     

    주요 메서드

    -hasMoreElements : 다음에 가져올 토큰이 있는지 여부 검사

    -nextToken : 다음 토큰을 가지고 온다.

     

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str = "동해물과 백두산이 마르고 닳도록";

    StringTokenizer st = new StringTokenizer(str);//java.lang패키지에 있는 클래스를 사용할 경우에만 임포트 생략해도 된다.

    while(st.hasMoreElements()) {
    System.out.println(st.nextToken());
    }
    //구분자를 따로 지정 안해줘서 공백이 구분자가 되었다.
    System.out.println("----------------");

    st = new StringTokenizer(str);
    while(st.hasMoreElements()) {
    System.out.println(st.nextToken("산"));
    }
    //구분자를 처음에 스트링 토크나이저 생성할때 지정해줬다고 하더라도 가지고 나올때 다른 구분자를 지정해 주면 해당 구분자로 가지고 나오게 된다.

    System.out.println("------------------");
    str = "동해^물과 백두_산이 마르_고 닳^도록";

    st = new StringTokenizer(str,"_");//스트링 토크나이저 객체를 생성할 때 두번째 인자값으로 문자를 넣으면 해당 문자열이 구분자로 취급이 된다.
    while(st.hasMoreElements()) {
    System.out.println(st.nextToken());
    }

    System.out.println("---------------");

    st = new StringTokenizer(str,"_");
    while(st.hasMoreTokens()) { //hasMoreTokens()을 써도 hasMoreElements()를 쓴것과 같다.
    System.out.println(st.nextToken("^"));
    }

    //위에서 _로 구분자를 주었지만 아래에서 ^로 구분자를 주면 ^를 기준으로 잘린다.

    System.out.println("------------------");
    st = new StringTokenizer(str,"_",true);//세번째 인자값에 구분자도 토큰을 포함시킬지 말건지에 대한 여부지정. 기본적으로 false이기 때문에 구분자를 토큰에 포함시키지 않는다.
    while(st.hasMoreTokens()) {
    System.out.println(st.nextToken());
    }



    }

     

    참조 : 인프런 - 안드로이드를 위한 자바 - StringTokenizer

    'java' 카테고리의 다른 글

    generic  (0) 2020.05.07
    Calendar  (0) 2020.05.07
    StringBuffer  (0) 2020.05.07
    String  (0) 2020.05.07
    Runtime클래스  (0) 2020.05.06

    댓글

Designed by Tistory.