[JAVA] StringTokenizer 클래스 활용 (문자열 구분자로 자르기)
2020. 8. 6. 10:53ㆍProgramming Language/JAVA
반응형
■ StringTokenizer 클래스
문자열을 구분자(delim)을 기준으로 토큰형태로 분리하는 작업에 유용하다.
String 객체의 split 메서드와 유사하고 보다 섬세한 작업이 가능하다.
■ StringTokenizer 생성자 정리
생성자 | 설명 |
StringTokenizer(String str) | 문자열 str를 기본 구분자(\t\n\r)로 분리 |
StringTokenizer(String str, String delim) | 문자열 str를 특정 구분자(delim)로 분리 |
StringTokenizer(String str, String delim, boolean returnDelims) |
문자열 str를 특정 구분자(delim)로 분리 returnDelims 가 true : 구분자 포함 returnDelims 가 false : 구분자 불포함 |
■ StringTokenizer 메서드 정리
메서드 | 설명 |
boolean hasMoreTokens() boolean hasMoreElements() |
토큰이 존재하면 true, 토큰이 존재하지 않으면 false 반환 |
Object nextElement() | 다음 토큰을 Object형으로 반환 |
String nextToken() | 다음 토큰을 String형으로 반환 |
int countTokens() | 토큰의 갯수를 int형으로 반환 |
■ 기본 구분자 (delim : \t, \n, \r)
// 기본 구분자 : \t\n\r
StringTokenizer defaultTokens = new StringTokenizer("write once \t run \r anywhere");
while (defaultTokens.hasMoreTokens()) {
System.out.println(defaultTokens.nextToken());
}
/*
※ 출력 결과
write
once
run
anywhere
*/
■ 특정 구분자
// 구분자 : #/-
StringTokenizer delimTokens = new StringTokenizer("write#once/run-anywhere", "#/-");
while (delimTokens.hasMoreElements()) {
System.out.println(delimTokens.nextElement());
}
/*
※ 출력 결과
write
once
run
anywhere
*/
■ 구분자 포함/불포함 분리
- true : 구분자 포함
// 구분자를 포함한 토큰 추출 : #/-
StringTokenizer returnDelimsTokens = new StringTokenizer("write#once/run-anywhere", "#/-", true);
// 토큰의 갯수 반환
System.out.println(returnDelimsTokens.countTokens());
while (returnDelimsTokens.hasMoreTokens()) {
System.out.println(returnDelimsTokens.nextToken());
}
/*
※ 출력 결과
7
write
#
once
/
run
-
anywhere
*/
- false : 구분자 불포함
// 구분자를 포함한 토큰 추출 : #/-
StringTokenizer returnDelimsTokens = new StringTokenizer("write#once/run-anywhere", "#/-", false);
// 토큰의 갯수 반환
System.out.println(returnDelimsTokens.countTokens());
while (returnDelimsTokens.hasMoreTokens()) {
System.out.println(returnDelimsTokens.nextToken());
}
/*
※ 출력 결과
write
once
run
anywhere
*/
SOURCE CODE
반응형
'Programming Language > JAVA' 카테고리의 다른 글
[JAVA] 스트림(Stream) API 활용 (0) | 2020.08.07 |
---|---|
[JAVA] Arrays 클래스 활용 (배열 다루기) (0) | 2020.08.06 |
[JAVA] JVM의 메모리 구조 (0) | 2020.08.05 |
[JAVA] Map 계열 (Hashtable/HashMap/Properties) 정리 (0) | 2020.08.04 |
[JAVA] ArrayList 3가지 정렬 방법 정리 (Comparator 인터페이스/익명클래스/람다표현식) (0) | 2020.08.04 |