09009
[Java] StringTokenizer 본문
java.util.StringTokenizer 클래스
긴 문자열을 지정된 구분자(delimiter)를 기준으로 토큰이라는 여러 개의 문자열로 잘라내는데 사용된다.
ex) "1,2,3,4"라는 문자열이 있다고 예시를 들어보자. ","를 구분자로 잘라내면 "1","2","3","4"라는 4개의 문자열(토큰)을 얻을 수 있다.
생성자 / 메서드 | 설명 |
StringTokenizer(String str, String delim) | 문자열(str)을 지정된 구분자(delim)로 나누는 StringTokenizer 생성 |
String Tokenizer(String str, String delim, boolean returnDelims) |
문자열(str)을 지정된 구분자(delim)로 나누는 StringTokenizer 생성. returnDelims의 값을 true로 설정하면 구분자도 토큰으로 간주됨. |
int countTokens() | 전체 토큰의 수 반환 |
boolean hasMoreTokens() | 토큰이 남아있는지 알려줌 |
String nextToken() | 다음 토큰을 반환 |
import java.util.StringTokenizer;
public class StringToken1 {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("사과,바나나,딸기,포도",",");
while(st.hasMoreTokens()) { // 토큰이 있으면 (데이터가 있으면)
System.out.println(st.nextToken());
}
}
}
💻 출력
사과
바나나
딸기
포도
✍ 입력
import java.util.StringTokenizer;
public class TokenizeString {
public static void main(String[] args) {
// : 기호를 기준으로 첫번째 문자열을 분해한다.
StringTokenizer str1 = new StringTokenizer("PM:08:45", ":");
while(str1.hasMoreTokens())
System.out.print(str1.nextToken() + ' ');
System.out.println();
StringTokenizer str2 = new StringTokenizer("12 + 36 - 8 / 2 = 44", "+-/=");
while(str2.hasMoreTokens())
System.out.print(str2.nextToken() + ' ');
System.out.println();
StringTokenizer str3 = new StringTokenizer("12 + 36 - 8 / 2 = 44", "+-/=", true);
// true를 작성하면 token도 하나의 기호로 간주한다는 의미 ( +-/=도 기호로 간주)
while(str3.hasMoreTokens())
System.out.print(str3.nextToken() + ' ');
}
}
💻 출력
PM 08 45
12 36 8 2 44
12 + 36 - 8 / 2 = 44
구분자로 여러 문자들을 지정한 것("+-/=")의 출력 결과에서 알 수 있듯이
StringTokenizer는 단 한 문자의 구분자만 사용할 수 있으므로"+-/=" 전체가 하나의 구분자가 아닌, 각각의 문자가 모두 구분자이다.
'Back-End > JAVA' 카테고리의 다른 글
[Java] 문자열(String) 비교 : equals()와 == 의 차이점, String 클래스 (6) | 2023.04.06 |
---|---|
[Java 주요 문제 풀이 (1)] - 배열, 생성자, 메서드 (0) | 2023.04.06 |
[Java] 예외처리 (0) | 2023.04.06 |
[Java] 추상클래스 (0) | 2023.04.06 |
[Java] 인터페이스 (0) | 2023.04.06 |
Comments