[Java] StringTokenizer(문자열 분리)

예림·2024년 6월 7일
3

java

목록 보기
4/5
post-thumbnail

StringTokenizer

: String(문자열)을 Tokenizer(토큰화)
구분자를 이용하여 문자열을 분리할 때 사용한다.
만약 BufferedReader클래스의 메서드로 입력을 읽어들인다면 라인 단위로 읽어들일 수 밖에 없다.
꼭 BufferedReader 클래스가 아니더라도 스페이스/컴마/공백을 기준으로 문자열을 분리한다던가, 특정 문자에 따라 문자열을 나누고 싶을 때 StringTokenizer를 사용한다.

//1. 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열);

//2. 구분자를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자);

/* 3. 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다. (true) 
* 구분자를 분리된 문자열 토큰에 포함 시키지 않는다. (false) 
* (디폴트 : false) 
*/ 
StringTokenizer st = new StringTokenizer(문자열 , 구분자 , true/false);

//4. 여러 개의 구분자로 문자열을 분리
//  나는>여러개의:구분자  ->  나는 / 여러개의 / 구분자
StringTokenizer st = new StringTokenizer(str, ">:");

StringTokenizer의 메서드

int countTokens() : 남아있는 토큰의 개수를 반환한다.
Object nextElement() : 다음 토큰을 Object 타입으로 반환한다.
boolean hasMoreElements() : 현재 위치 뒤에 사용할 수 있는 토큰이 남아 있는 경우 true, 그렇지 않으면 false를 반환한다.
boolean hasMoreTokens() : boolean hasMoreElements()와 같은 기능이다.
String nextToken() : 다음 토큰을 String 타입으로 반환한다.

StringTokenizer와 split

둘 다 문자열을 파싱하는데 사용되지만 둘은 엄연히 다르다.

  1. StringTokenizer는 클래스, split은 String 클래스에 속한 메소드이다.
  2. split은 문자가 아닌 정규표현식으로 구분하며, 빈 문자열도 토큰으로 인식한다.
  3. StringTokenizer는 결과값이 문자열, split은 문자열 배열이다.

참고자료
https://www.javatpoint.com/string-tokenizer-in-java
https://dev-coco.tistory.com/94
https://ittrue.tistory.com/105

profile
백엔드 개발하는 사람

0개의 댓글