Java에서 문자열을 원하는 구분자로 분리하고 싶을 때 String 클래스의 split()을 쓰거나 StringTokenizer를 사용할 수 있다.
String 클래스의 멤버로, 지정한 구분자로 문자열을 분리하여 배열에 저장 → 인자로 정규표현식(regex)을 사용하므로 속도 측면에서 StringTokenizer가 좀 더 빠르다.
java.util에 포함된 클래스로, 지정한 한 가지의 구분자로 문자열을 분리할 수 있다. *구분자 생략 시 디폴트는 공백으로 설정된다.
메소드 | 설명 | return형 |
---|---|---|
nextToken() | 다음 토큰을 리턴한다. 이전 토큰은 제거한다. | String |
hasMoreTokens() | 리턴할 다음 토큰이 남아있으면 true, 없으면 false를 리턴한다. | int |
countTokens() | 남아있는 토큰의 개수를 리턴한다. | boolean |
String keyword = "hello;world;jjun";
**String[] split = keyword.split(";");**
System.out.println("String.split() 사용");
for (String str : split) {
System.out.print(str + ", ");
}
System.out.println();
**StringTokenizer tokenizer = new StringTokenizer(keyword, ";");**
System.out.println("StringTokenizer 사용");
while(tokenizer.hasMoreTokens()) {
System.out.print(tokenizer.nextToken() + ", ");
}
>>> 결과
String.split() 사용
hello, world, jjun,
StringTokenizer 사용
hello, world, jjun,