본문 바로가기

etc.

[Java] StringTokenizer 클래스와 StringTokenizer 메소드

반응형

java.lang.Object

 java.util.StringTokenizer

 

구분자(delimiter)를 기준으로 부분 문자열을 처리하고싶다면,

String의 split() 메소드 또는 java.util 패키지의 StringTokenizer 클래스를 이용할 수 있다

 


 

split() 메소드

 

String[] str = "문자열".split("정규표현식");

ex)
String[] names = text.split("&|,|-");
// -> '&', ',', '-'를 구분자로 부분 문자열 처리

 


 

StringTokenizer 클래스

 

StringTokenizer st = new StringTokenizer("문자열", "구분자");

ex)
StringTokenizer st = new StringTokenizer(text, "/");
// -> text 문자열을 '/'를 구분자 기준으로 부분 문자열로 처리함

 

사용할 때 import java.util.StringTokenizer; 로 import해준다

 

처리된 부분 문자열을 토큰(Token)이라고 한다

클래스의 메소드들과 사용 예시는 다음과 같다

 

1) int countTokens()

: 꺼내지 않고 남아 있는 토큰 개수

 

2) boolean hasMoreTokens()

: 남아 있는 토큰이 있는지 여부

 

3) String nextToken()

: 토큰을 하나씩 꺼내옴

 

1)
StringTokenizer st = new StringTokenizer(text, "/");
int countTokens = st.countTokens();
for(int i=0 ; i<countTokens; i++)    //토큰의 개수만큼 for 반복문
    String token = st.nextToken();
    
2)
st = new StringTokenizer(text, "/");
while(st.hasMoreTokens())    //토큰이 남아있는지 확인하며 while 반복문
{
    String token = st.nextToken();
}

 

BufferedReader 클래스를 이용하여 text를 입력받고 사용할 수 있다

반응형