2024. 2. 21. 09:30ㆍ언어(Language)/JAVA
StringTokenizer란?
StringTokenizer 클래스는 문자열을 우리가 지정한 구분자로 쪼개주는 클래스이다.
그렇게 쪼개어진 문자열을 토큰(token)이라고 부른다. 즉, 토큰은 분리된 문자열 조각으로, StringTokenizer 클래스는 하나의 문자열을 여러 개의 토큰으로 분리하는 클래스이다.
StringTokenizer를 사용하기 위해서는 java.util.StringTokenizer를 import해야 된다.
StringTokenizer 사용방법
import java.util.StringTokenizer;
//1. 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열);
//2. 구분자를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자);
//3. 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다. (true)
// 구분자를 분리된 문자열 토큰에 포함 시키지 않는다. (false)
// 디폴트(false)
StringTokenizer st = new StringTokenizer(문자열, 구분자, true/false)
1. 문자열을 이용해 StringTokenizer 객체를 생성한다.
이럴 경우 문자열은 띄어쓰기 기준으로 나눠지게 된다.
2. 구분자(어떤 것을 기준으로 나눌지)를 명시해 StringTokenizer 객체를 생성한다.
3. 생성자 마지막 인제아 true/false의 boolean 타입의 값을 넣어주는데,
true라면 구분자도 토큰에 포함되고, false라면 구분자는 구분하는데만 쓰고 토큰에 포함되지 않는다.
디폴트값은 false이다.
StringTokenizer 주요 메서드
리턴값 | 메서드명 | 역할 |
boolean | hasMoreTokens() | 남아있는 토큰이 있으면 true를 리턴, 더 이상 토큰이 없으면 false 리턴 |
String | nextToken() | 객체에서 다음 토큰을 반환 |
String | nextToken(String delim) | delim 기준으로 다음 토큰을 반환 |
boolean | hasMoreElements() | hasMoreTokens와 동일한데 엘리먼트보다 토큰으로 된 메서드를 주로 사용 |
Object | nextElement() | nextToken 메서드와 동일하지만 문자열이 아닌 객체를 리턴 |
int | countTokens() | 총 토큰의 개수를 리턴 |
StringTokenizer vs split
StringTokenizer과 split 모두 문자열을 파싱하는데 사용이 된다.
StringTokenizer는 java.util에 포함되어 있는 클래스, split은 String 클래스에 속해있는 메소드이다.
StringTokenizer는 문자 또는 문자열로 문자열을 구분한다면, split은 정규표현식으로 구분한다.
StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split은 빈 문자열을 토큰으로 인식하는 차이가 있다.
StringTokenizer는 결과값이 문자열이라면 split은 결과값이 문자열 배열이다.
따라서 StringTokenizer를 이용할 경우 전체 토큰을 보고 싶다면 반복문을 이용해 하나하나 뽑아야된다.
'언어(Language) > JAVA' 카테고리의 다른 글
[JAVA] 백준 2738번 / BufferedWriter Int(정수)형 출력하기 (1) | 2024.03.28 |
---|---|
[JAVA] StringTokenizer 여러 번 사용하기(NoSuchElementException 에러) (1) | 2024.02.27 |
[JAVA] Map & HashMap (1) | 2024.02.20 |
[JAVA] 제네릭(Generic)이란? (0) | 2024.02.20 |
[JAVA] getter와 setter를 사용하는 이유 (0) | 2024.02.20 |