문자열이 특정 구분자로 연결되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리하기 위한 방법은 두 가지가 있다.
첫째, String의 split()메소드를 이용하는경우
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class StringSplitExample { public static void main(String[] args) { String text = "홍길동&이수홍,박연수,김자바-최명호"; String[] names = text.split("&|,|-"); //구분자를 여러개 지정 가능 for(String name : names) { System.out.println(name); } } } |
둘째, java.util 패키지의 StringTokenizer 클래스를 이용하는경우
1 | StringTokenizer st = new StringTokenzier("문자열", "구분자"); |
만약 구분자를 생략하면 공백이 기본 구분자가 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package chapter11.exam01; import java.util.StringTokenizer; public class StringTokenizerExample { public static void main(String[] args) { String text = "홍길동/이수홍/박연수"; // for문 이용 StringTokenizer st = new StringTokenizer(text, "/"); int countTokens = st.countTokens(); for (int i = 0; i < countTokens; i++) { String token = st.nextToken(); System.out.println(token); } System.out.println(); // while문 이용 st = new StringTokenizer(text, "/"); while(st.hasMoreTokens()) { // 토큰이 있는지 확인 String token = st.nextToken(); // 토큰을 불러옴 System.out.println(token); } } } | cs |
두가지의 차이점은 split()은 정규 표현식으로 구분하고, StringTokenizer는 문자로 구분한다는 차이점이있다.
'Java' 카테고리의 다른 글
예외 발생 및 회피 (0) | 2019.01.25 |
---|---|
예외 클래스 (0) | 2019.01.25 |
예외 처리 (0) | 2019.01.25 |
Comparable과 Comparator (0) | 2019.01.24 |
파일 입출력 (0) | 2018.11.14 |