공부/Java
[Java] StringTokenizer
Jii-
2023. 11. 26. 17:23
StringTokenizer
import java.util.StringTokenizer;
StringTokenizer st = new StringTokenizer(문자열);
// 띄어쓰기 기준으로 문자열 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자);
// 구분자 기준으로 문자열 분리
String Tokenizer st = new StringTokenizer(문자열, 구분자, false/true);
// true : 구분자를 기준으로 문자열을 분리하되, 구분자도 토큰으로 넣는다.
// false : 구분자를 기준으로 문자열을 분리하되, 구분자는 토큰으로 넣지 않는다. (디폴트)
리턴값 | 메서드 | 역할 |
boolean | hasMoreTokens() | 남아있는 토큰이 있다면 true, 없다면 false 리턴. |
String | nextToken() | 객체에서 다음 토큰을 반환 |
String | nextToken(String delim) | delim 기준으로 다음 토큰을 반환 |
boolean | hasMoreElements() | hasMoreToken 메서드와 동일하나, 엘리먼트보다 토큰으로 된 메서드를 주로 사용 |
Object | nextElement() | nextToken 메서드와 동일하나, 문자열이 아닌 객체를 리턴 |
int | countTokens() | 총 토큰의 개수를 리턴 |
StringTokenizer vs split()
- 일반적인 상황 (데이터 + 구분자 + 데이터)
: 동일하게 동작
- 구분자 사이에 데이터가 없는 경우 (데이터 + 구분자 + 구분자 + 데이터)
: split 메서드만 공백의 데이터를 반환
ex) String str = "apple, banana,,kiwi";
StringTokenizer | split() | |
0번째 | "apple" | "apple" |
1번째 | "banana" | "banana" |
2번째 | "kiwi" | "" |
3번째 | "kiwi" |
- 문자열이 구분자로 끝나는 경우 (데이터 + 구분자)
: 동일하게 마지막 데이터를 무시하는 방식으로 동작
ex) String str = "apple, banana,kiwi,";
StringTokenizer | split() | |
0번째 | "apple" | "apple" |
1번째 | "banana" | "banana" |
2번째 | "kiwi" | "kiwi" |
참고 :
https://dev-coco.tistory.com/94
[Java] StringTokenizer 문자열 분리하기 (split과 차이는 뭘까?)
StringTokenizer 클래스란? StringTokenizer 클래스는 문자열을 구분자를 이용하여 분리할 때 사용할 수 있습니다. 만일 BufferedReader 클래스의 메서드로 입력을 읽어들인다면 라인 단위로 읽어들일 수 밖
dev-coco.tistory.com
https://library1008.tistory.com/16
문자열 분리 - split() 와 StringTokenizer 의 차이점
문자열을 원하는 구분자(delimiter)를 사용하여 분리하고 싶을 때 StringTokenizer 와 String 메소드 split() 를 사용할 수 있습니다. 같지만 다른 두 가지 방법에 대해서 알아보도록 하겠습니다. (예제에서
library1008.tistory.com