-
[Java] StringTokenizerIT Study/컴퓨터 기초 2023. 3. 15. 14:16728x90
BufferedReader를 이용하여 입력을 받을 때, 자주 보이는 클래스가 있습니다.
그것은 바로
StringTokenizer
StringTokenizer 클래스를 사용하여 문자열을 *Token 단위로 구분하여 만들 수 있습니다.
*Token(토큰) : 분리된 문자열 조각
📌 사용 방법
StringTokenizer(String str) 띄어쓰기 기준으로 문자열 분리 StringTokenizer(String str, String delim) 구분자(delim) 기준으로 문자열 분리 StringTokenizer(String str, String delim, boolean returnDelims) 구분자(delim) 기준으로 문자열 분리 시 boolean returnDelims true 구분자도 문자열 토큰에 포함 O false 구분자는 문자열 토큰에 포함 X 📌 예시 1 : 띄어쓰기 기준으로 문자열 분리할 때
import java.util.StringTokenizer; public class Main { public static void main(String[] args) { StringTokenizer st = new StringTokenizer("Hello Java"); while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } } // 출력 // Hello // Java
📌 예시 2 : 구분자(delim) 기준으로 문자열 분리할 때
import java.util.StringTokenizer; public class Main { public static void main(String[] args) { StringTokenizer st = new StringTokenizer("Hello.Java", "."); // 구분자 : .(온점) while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } } // 출력 // Hello // Java
📌 예시 3 : boolean returnDelims를 true 선언하여 구분자(delim)도 Token에 포함할 때
import java.util.StringTokenizer; public class Main { public static void main(String[] args) { StringTokenizer st = new StringTokenizer("Hello.Java", ".", true); // true : 구분자도 Token에 대입 while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } } // 출력 // Hello // . // Java
📌 StringTokenizer 클래스의 메서드
변수 타입 메서드 설명 boolean hasMoreTokens() 해당 Token에 추가적으로 사용할 수 있는 Token이 있는지 확인 boolean hasMoreElements() hasMoreTokens()와 동일한 값 반환 int countTokens() 예외 발생 전까지 해당 Token의 호출 가능한 횟수를 카운트 String nextToken() 해당 StringTokenizer의 다음 Token을 반환 String nextToken(String delim) 구분자를 포한한 nextToken() 메서드 Object nextElement() nextToken()와 동일한 값을 반환하나, 반환값이 Object라는 차이점 존재 아래 '하하호호' 님의 블로그에서 정말 많은 도움을 받아 이해했습니다.
보다 자세하고 궁금한 내용에 대해서는 아래 링크를 참고하시면 좋을 것 같습니다. 감사합니다 :)
'IT Study > 컴퓨터 기초' 카테고리의 다른 글
[Java] 변수와 메모리 (0) 2023.03.24 [Java] next()와 nextLine() 차이와 사용법 (0) 2023.03.24 [Java] String 클래스의 equals(), ==, = 의 차이점 (0) 2023.03.23 [Java] BufferedReader와 BufferedWriter (입출력 속도) (0) 2023.03.15 [보수] 음수 10진수를 2진수로 변환하기 (1의 보수, 2의 보수) (0) 2023.03.10