StringTokenizer
- StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자로 문자열을 쪼개주는 클래스이다.
- String(문자열을) Tokenizer(토큰화한다)
- 하나의 문자열을 여러 개의 토큰으로 분리하는 클래스
StriongTokenizer 라이브러리 임포트
import java.util.StringTokenizer;
- StringTokenizer를 사용하기 위해서는 java util의 클래스를 임포트 해주어야한다.
생성자
StringTokenizer를 생성하는 방식에는 3가지가 있다.
StringTokenizer st = new StringTokenizer(문자열)
→ 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자)
→ 구분자를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자, boolean)
→ 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰에 넣을지(true) 구분자를 포함 안시킬지(false)
메서드
리턴값 | 메서드명 | 역할 |
---|
boolean | hasMoreTokens() | 남아있는 토큰이 있으면 true를 리턴, 더 이상 토큰이 없으면 false 리턴 |
String | nextToken() | 객체에서 다음 토큰 반환 |
Stirng | nextToken(String str) | str을 기준으로 다음 토큰을 반환 |
boolean | hasMoreElements() | hasMoreTokens와 동일 |
Object | nextElement | nextToken 메서드와 동일하지만 문자열이 아닌 객체를 리턴 |
Int | countTokens() | 총 토큰의 개수를 리턴 |
StringTokenizer와 Split의 차이
- StringTokenizer는 java.util에 포함되어 있는 클래스, split은 String 클래스에 속해있는 메소드이다.
- StringTokenizer는 문자 또는 문자열로 문자열을 구분한다면, split은 정규표현식으로 구분한다.
- StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split은 빈 문자열을 토큰으로 인식
- StringTokenizer는 결과값이 문자열이라면 split은 결과 값이 문자열 배열. 따라서 StringTokenizer를 이용하여 전체 토큰을 보고 싶다면 반복문을 통해서 하나하나 뽑을 수 밖에 없다.