Java

[Java] StringTokenizer 문자열 분리 (split과 차이)

똑똑한망치 2024. 6. 14. 10:18
728x90
반응형

1. StringTokenizer 클래스란?

StringTokenizer 클래스는 문자열을 구분자를 이용하여 분리할 때 사용할 수 있다.

 

만약 BufferedReader 클래스의 메서드로 입력을 읽어들인다면 라인 단위로 읽어들일 수 밖에 없다.

 

꼭, BufferedReader 클래스만이 아니라도, 스페이스 기준으로 혹은 컴마로 혹은 공백을 기준으로 문자열을 분리한다던가, 특정 문자에 따라 문자열을 나누고 싶을 때 StringTokenizer를 사용한다.

 

즉, 토큰은 문자열 조각을 의미하고, StringTokenizer 클래스는 하나의 문자열을 여러 개의 토큰으로 분리하는 클래스이다.

 

(1) StringTokenizer 생성자

StringTokenizer를 생성하는 방식은 3가지가 있다.

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


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


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

 

 

(2) StringTokenizer 메서드

 

 

 

(3) StringTokenizer와 split의 차이

StringTokenizer는 java.util에 포함되어 있는 클래스, split은 String 클래스에 속해있는 메소드 이다.

 

StringTokenizer는 문자 또는 문자열로 문자열을 구분한다면, split은 정규표현식으로 구분한다.

 

StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만, split은 빈 문자열을 토큰으로 인식하는 차이가 있다.

 

StringTokenizer는 결과값이 문자열이지만, split은 결과값이 문자열 배열이다. 

반응형

'Java' 카테고리의 다른 글

BufferedReader, BufferedWriter  (0) 2024.06.17
H2 데이터 베이스  (1) 2024.06.14
[Java] System.arraycopy 사용법  (0) 2024.03.22
[Java] parseInt() VS valueOf() 차이점  (0) 2024.02.25
[Java] 객체지향 언어의 특징  (0) 2023.12.14