본문 바로가기
개발/JAVA

[JAVA] StringTokenizer

by 설이주인 2022. 5. 23.

StringTokenizer

 

문자열을 우리가 원하는 구분자로 분해해주는 클래스

 

나눠진 문자열을 토큰(token)이라고 부른다.

 

StringTokenizer(String str) : 문자열 str을 기본 delimiter로 분리한다. 기본적으로 "\t \n \r "이다.

StringTokenizer(String str, String delim) : 특정 단어 delim으로 str을 분리한다.

StringTokenizer(String str, String delim, boolean returnDelims) : str을 특정 delim으로 분리하면서 delim을 token으로 포함할지 결정, true일시 포함  false일시 미포함

 

int countTokens() : 남아 있는 token의 개수를 반환

boolean hasMoreElements(), hasMoreTokens() : 다음의 token 반환 + 내부적으로 stringTokenizer이 어떤 위치의 토큰을 사용했는지 기억하고 그 다음 위치로 옮긴다.

Object nextElement(), String nextToken() : 다음의 토큰을 반환한다. 같은 값을 반환하지만 nextElements는 Object , nextToken()은 String을 반환한다.

 

기본 delim 분리 pass

특정 delim

String str = "hello-main+heee";
// '-' 와 '+' 로 나눈다 
StringTokenizer stk = new StringTokenizer(str, "-+");

while(str.hasMoreTokens()){
	sout(str.nextToken())
}

-> hello/main/heee

'-', '+'로 나눔

 

String split과 결과가 좀 다르게 나온다.

String str = "hello-main+heee-+last";
// '-' 와 '+' 로 나눈다

String tokens[] = str.split(-+)

for(int i = 0; i < tokens.length; i++){
	sout(tokens[i]);
}

-> hello-main+heee / last

split은 정확히 '-+' 로 나눔

 

분리문구 delim까지 포함

String str = "hello-main+heee";
// '-' 와 '+' 로 나눈다 
StringTokenizer stk = new StringTokenizer(str, "-+", true);

while(str.hasMoreTokens()){
	sout(str.nextToken())
}

-> hello/ - / main / + /heee

'-', '+' 까지 포함해서 출력

'개발 > JAVA' 카테고리의 다른 글

Iterator  (0) 2022.07.11
자바 8 정리  (0) 2022.07.08
Junit - Assert 메소드  (0) 2022.06.02
[JUNIT] 테스트 코드 연습[1]  (0) 2022.06.02
[JAVA] BufferedReader  (0) 2022.05.23