[JAVA] StringTokenizer 클래스로 문자열 분리

곽지욱·2023년 9월 23일
0

Java

목록 보기
2/4
post-thumbnail
  • BufferedReader 클래스의 메서드로 입력을 읽어들일 경우 , 입력을 라인 단위로 읽어 들일 수 밖에 없음.

  • 띄어쓰기(스페이스) 혹은 따옴표 기준으로 문자열을 분리하거나 싶을 때가 있을 때 사용하면 유용함

  • StringTokenizer 생성하는 방식에는 3가지가 존재함

  • 첫 번째 방법은 띄어쓰기 기준으로 문자열이 나눠지게 됨

  • 두 번째의 경우는 사용자가 명시한 구분자로 문자열을 구분하고,

  • 세 번째는 사용자가 명시한 구분자 + 마지막 인자에 true OR false 의 값을 설정할 수 있음 true 일 경우 구분자도 토큰으로 취급 즉, 구분자도 포함하는 것
    false일 경우는 반대

  • 구분된 문자열을 변수에 저장하거나 출력하여 확인하고 싶을 땐 nextToken() 이라는 메서드를 사용할 수 있음 (먼저 저장된 Token을 기준으로 출력하거나 저장됨)

이외에도

  • boolean 타입의 hasMoreTokens() 메서드는 남아 있는 토큰이 있으면 true를 리턴하고 더 이상 토큰이 없으면 false를 리턴.. 등등이 존재함

  • 또한 구분자는 하나 뿐만 아니라 여러개를 넣어서 사용할 수 있음

예제 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

public class Set_1269 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine()); // 읽어들이는 문자열을 공백으로 토큰으로 저장

        int a = Integer.parseInt(st.nextToken()); // 읽어들여서 st객체에 저장된 토큰 1을 반환하고 정수로 변환하여 변수 a에 저장
        int b = Integer.parseInt(st.nextToken());
        
  1. 이 처럼 BufferedReader readLine() 로 읽어들이는 문자열을 공백으로 구분하여 토큰에 저장할 수 있음.

0개의 댓글

관련 채용 정보