[Java] StringTokenizer Class 사용 및 Split 비교
StringTokenizer Class ?
문자열을 스페이스, 특정 구분자 등의 기준으로 분리할 때 사용
StringTokenizer 구문
StringTokenizer st = new StringTokenizer("문자열"); // 띄어쓰기 기준으로 문자열 분리
StringTokenizer st = new StringTokenizer("문자열", "구분자"); // 구분자 기준으로 문자열 분리
StringTokenizer st = new StringTokenizer("문자열", "구분자", boolean);
// 구분자 기준으로 문자열 분리할 때 구분자도 Token으로 넣을지(true), 말지(false default)
StringTokenizer 라이브러리 Import
import java.util.StringTokenizer;
StringTokenizer Method
반환값 | 메서드명 | 역할 |
boolean | hasMoreTokens | 남아있는 토큰이 있으면 True 더 이상 토큰이 없으면 False |
String | nextToken | 객체에서 다음 토큰 반환 |
String | nextToken(String delim) | delim 기준으로 다음 토큰 반환 |
boolean | hasMoreElements | hasMoreTorkens와 동일 |
Object | nextElement | nextToken과 동일하지만 문자열이 아닌 객체 반환 |
int | countTokens | 총 토큰의 개수 반환 |
Example1. 공백으로 분리
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
String str = "Welcome Haenny Blog";
StringTokenizer st = new StringTokenizer(str);
System.out.println(st.nextToken());
System.out.println(st.nextToken());
System.out.println(st.nextToken());
}
}
Welcome
Haenny
Blog
Example2. 여러 구분자로 분리
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
String str = "Best Blog - 해니블로그 : haenny.tistory.com";
StringTokenizer st = new StringTokenizer(str, "-:"); // -와 : 구분자로 분리
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
Best Blog
해니 블로그
haenny.tistory.com
StringTokenizer vs Split
StringTokenizer | split | |
java.util 에 포함된 Class | String Class의 method | |
문자/문자열로 문자열 구분 | 정규표현식으로 구분 | |
빈 문자열을 토큰으로 인식하지 않음 | 빈 문자열을 토큰으로 인식함 | |
결과 값 = 문자열 | 결과 값 = 문자열 배열 |
'JAVA > Java' 카테고리의 다른 글
[Java] Java Stream 활용하여 두 개의 List 객체 비교하기 (0) | 2022.12.12 |
---|---|
[Java] 중복 키 허용 MultiValueMap 와 HashMap 차이 (0) | 2022.12.12 |
[Java] Comparator, Lamda 사용하여 2차원 배열 정렬하기 (0) | 2022.12.12 |
[Java] Arrays.sort 와 Collections.sort 정리 (0) | 2022.12.12 |
[Java] 스트림 (Stream) 타입별 변환 (0) | 2022.12.12 |
[Java] POI 엑셀 다운로드 시 Invalid char (/) found at index (6) in sheet name 에러 (0) | 2022.12.12 |
[Java] Lombok 사용 시 @Data compileJava 오류 (0) | 2022.11.15 |
[Java] 윈도우 cmd 명령어 실행 : Java로 실행파일 실행시키기 응용 (0) | 2022.11.15 |