문자열 자르기 : StringTokenizer vs split()

Yumi Kim·2026년 1월 27일

Java 알고리즘

목록 보기
19/19
post-thumbnail

비교

  • 성능은 split 보다 StringTokenizer가 좋다. split은 결과를 배열에 담아서 변환하기 때문이다.
  • split()은 빈 문자열도 토큰으로 인식하지만, StringTokenizer는 빈 문자열을 토큰으로 인식하지 않는다.

String 클래스의 split 매서드

  • sample code
    String str = "01:23:45"; String[] ans1 = str.split(":"); // 01, 23, 45 String[] ans2 = str.split(":", 2); // 01, 23:45

  • 정규표현식을 매개변수로 받는다는 특징이 있다.
    String[] ans3 = str.split("\\|"); // 즉, 문자 |로 자를 때는 이스케이프 처리 !

  • 여러 개 구분자로 문자열 분리
    String[] ans4 = str.split("[%-@#]"); // []는 정규식 or를 의미

(java.util에 포함된) StringTokenizer 클래스

  • sample code
    String str = "01:23:45"; StringTokenizer st1 = new StringTokenizer(str); // 공백 기준 자르기 StringTokenizer st2 = new StringTokenizer(str, ":");

  • methods
    int countTokens() boolean hasMoreTokens() boolean hasMoreElements() String nextToken()

  • 여러 개 구분자로 문자열 분리
    StringTokenizer st3 = new StringTokenizer(str, "%/*");

  • 구분자도 함께 출력
    StringTokenizer st4 = new StringTokenizer(str, ":", true); // 01, :, 23, :, 45

  • 중간에 구분자 재설정
    String str2 = "01::23:&45&67"; StringTokenizer st5 = new StringTokenizer(str2, ":"); st5.nextToken(); // 01 st5.nextToken(); // 23 // 구분자 재설정 st5.nextToken("&"); // & st5.nextToken(); // 45 st5.nextToken(); // 67

profile
✿.。.:* ☆:**:. 🎀 Daily Study 🎀 .:**:.☆*.:。.✿

0개의 댓글