반응형
반응형
StringTokenizer클래스는 많이 들어본 클래스 이름일 것입니다.
StringTokenizer는 문자열을 구분자를 사용하여 분리할 때 자주 사용됩니다.
(스페이스, 공백, 콤마를 기준으로 문자열 분리에 사용)
StringTokenizer를 이용하여 방법은 3가지가 있습니다.
<1>
StringTokenizer st = new StringTokenizer(문자열);
// 띄어쓰기를 기준으로 문자열을 분리함.
<2>
StringTokenizer st = new StringTokenizer(문자열, 구분자);
// 구분자를 기준으로 문자열을 분리함.
<3>
StringTokenizer st = new StringTokenizer(문자열, 구분자, boolean));
// 구분자를 기준으로 문자열을 분리하면서 구분자도 동시에 토큰으로 들어감 -> ture
// 구분자를 기준으로 문자열을 분리하지만 구분자는 토큰으로 들어가지 않음 -> false
각 예시를 통해 더욱 쉽게 알아보도록 하겠습니다.
<1>
import java.util.*;
class Main {
public static void main(String[] args) {
String str = "오늘 날씨는 맑음";
StringTokenizer st = new StringTokenizer(str);
System.out.println(st.countTokens()); // countTokens() : 총 토큰의 개수를 반환
while (st.hasMoreTokens()) { // hasMoreTokens() : 남아있는 토큰이 존재여부에 따라 true/false
System.out.println(st.nextToken()); // nextToken() : 객체에서 다음 토큰을 반환
}
}
}
프로그램 출력값을 보면 문자열 총 개수 3개와 오늘, 날씨는, 맑음 3가지의 토큰으로 출력되었습니다.
countTokens()를 이용하여 띄어쓰기로 분리된 문자열 총 개수를 반환하여 출력할 수 있습니다
hasMoreTokens() 메소드를 이용하여 남아있는 토큰이 있을 때 true값을 반환 없을 때 false값을 반환하도록 합니다.
nextToken()메소드를 이용하여 다음 토큰을 계속해서 출력하였습니다.
<2>
import java.util.*;
class Main {
public static void main(String[] args) {
String str = "오늘,날씨는,맑음";
StringTokenizer st = new StringTokenizer(str, ",");
System.out.println(st.countTokens()); // countTokens() : 총 토큰의 개수를 반환
while (st.hasMoreTokens()) { // hasMoreTokens() : 남아있는 토큰이 존재여부에 따라 true/false
System.out.println(st.nextToken()); // nextToken() : 객체에서 다음 토큰을 반환
}
}
}
이번에는 StringTokenizer(문자열, ",")를 이용하여 ","를 기준으로 오늘, 날씨는, 맑음 3가지 토큰으로 나누었습니다.
띄어쓰기 기준이 아닌 원하는 구분자를 기준으로 문자열을 분리할 때 사용합니다.
<3>
import java.util.*;
class Main {
public static void main(String[] args) {
String str = "오늘,날씨는,맑음";
StringTokenizer st = new StringTokenizer(str, ",", true);
System.out.println(st.countTokens()); // countTokens() : 총 토큰의 개수를 반환
while (st.hasMoreTokens()) { // hasMoreTokens() : 남아있는 토큰이 존재여부에 따라 true/false
System.out.println(st.nextToken()); // nextToken() : 객체에서 다음 토큰을 반환
}
}
}
마지막으로 StringTokenizer(문자열, 구분자, boolean)을 이용했을때 프로그램 출력이 확연하게 달라진 것을 확인할 수 있습니다.
"," 구분자를 기준으로 문자열을 나누었지만 구분자도 하나의 토큰으로 들어갔습니다.
그렇게 총 토큰의 개수도 5개로 늘어났습니다.
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] static 키워드 사용하는 이유란? static에 대해 알아보자 (Static) (0) | 2024.07.22 |
---|---|
[Java 자바] 객체와 인스턴스의 개념 알아보기 (Object, instance) (0) | 2024.07.09 |
[Java 자바] Split() 함수 사용 방법 및 예제 알아보기 (0) | 2024.05.22 |
[Java 자바] 2차원 배열 생성 및 예제 알아보기 (0) | 2024.05.21 |
[JAVA] StringBuilder란 무엇인가? StringBuilder의 주요 메소드 알아보기 (0) | 2024.05.02 |