문자열 분리: StringTokenizer와 String.spilt()

dev-jjun·2023년 2월 17일
0

Algorithm

목록 보기
10/15

Java에서 문자열을 원하는 구분자로 분리하고 싶을 때 String 클래스의 split()을 쓰거나 StringTokenizer를 사용할 수 있다.

split()

String 클래스의 멤버로, 지정한 구분자로 문자열을 분리하여 배열에 저장 → 인자로 정규표현식(regex)을 사용하므로 속도 측면에서 StringTokenizer가 좀 더 빠르다.

StringTokenizer

java.util에 포함된 클래스로, 지정한 한 가지의 구분자로 문자열을 분리할 수 있다. *구분자 생략 시 디폴트는 공백으로 설정된다.

Constructor

  • StringTokenizer(String str)
  • StringTokenizer(String str, String delim) 구분자(delimiter)를 인자로 받는 생성자. 따로 넘겨주지 않으면 공백으로 처리된다.
  • StringTokenizer(String str, String delim, boolean returnDelims) returnDelims가 true이면 구분자도 토큰으로 간주한다.

Method

메소드설명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,
profile
서버 개발자를 꿈꾸며 성장하는 쭌입니다 😽

0개의 댓글