StringTokenizer class
문자열을 구분자를 기준으로 끊어서 토큰을 리턴해주는 기능을 하는 클래스이다.
어떤 기능을 하는지 예시를 보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package practice; import java.util.StringTokenizer; public class p1 { public static void main(String[] args) { String row = "<meta property=\"og:image\" content=\"https://s.ps" + "tatic.net/static/www/mobile/edit/2016/0705/mobile_212852414260.png\">"; StringTokenizer st = new StringTokenizer(row); // StringTokenizer st = new StringTokenizer(row, " "); 이것과 동일하다. // 두 번째 인자는 토큰을 구분하기 위한 구분자를 뜻한다. // 인자를 넘겨주지 않으면 " "을 넘긴 것으로 간주(디폴트) // 아래와 같이 구분자를 기준으로 토큰을 끊어서 리턴해주는 역할을 한다. System.out.println("첫 번째 토큰 : " + st.nextToken()); System.out.println("두 번째 토큰 : " + st.nextToken()); System.out.println("세 번째 토큰 : " + st.nextToken()); } } | cs |
nextToken()도 구분자를 인자로 받을 수 있다.
디폴트 구분자에서 중간에 nextToken()의 인자로 "="를 넣어보았다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package practice; import java.util.StringTokenizer; public class p1 { public static void main(String[] args) { String row = "<meta property=\"og:image\" content=\"https://s.ps" + "tatic.net/static/www/mobile/edit/2016/0705/mobile_212852414260.png\">"; StringTokenizer st = new StringTokenizer(row); System.out.println("첫 번째 토큰 : " + st.nextToken()); // nextToken()의 인자로 구분자를 전달해 바꿀 수 있다.( " " -> "=" ) System.out.println("두 번째 토큰 : " + st.nextToken("=")); // 구분자를 바꾸고 나면 또 바꾸기 전까지 계속 적용된다. System.out.println("세 번째 토큰 : " + st.nextToken()); System.out.println("네 번째 토큰 : " + st.nextToken()); } } | cs |
<실행 결과>
이제 응용해서 원하는 문자열을 얻어내보자.
원하는 문자열 : \"og:image\"
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 | package practice; import java.util.StringTokenizer; public class p1 { public static void main(String[] args) { String row = "<meta property=\"og:image\" content=\"https://s.ps" + "tatic.net/static/www/mobile/edit/2016/0705/mobile_212852414260.png\">"; StringTokenizer st = new StringTokenizer(row); // 내가 원하는 문자열만 뽑아내보자. // \"og:image\" String my_str = ""; my_str = st.nextToken("="); System.out.println(my_str); my_str = st.nextToken(" "); //구분자가 바뀐 채로 다음 토큰을 받는 것이므로 //이전 구분자였던 "="가 앞에 붙어있다. System.out.println("내가 원하던 문자열...??? : " + my_str); //String 객체의 substring()함수를 이용해서 내가 원하는 문자열만 얻으면 된다. //substring(BeginIndex) or substring(BeginIndex, EndIndex) System.out.println("내가 원하던 문자열!!! : " + my_str.substring(1)); } } | cs |
<실행 결과>
예시를 보고 이해한 뒤 한 두번만 스스로 해보자.
StringTokenizer 객체를 이용해서 원하는 문자열을 얻어낼 수 있게 될 것이다.
'□ 이론 > 기타' 카테고리의 다른 글
JSP 개념 정리 (0) | 2019.04.17 |
---|---|
JavaScript 기초 개념 정리 (0) | 2019.03.29 |
스프링 프레임워크 기본 개념 정리 (0) | 2019.03.27 |
[Java] 배열(array) (0) | 2019.01.06 |
C++에서의 string 클래스 (0) | 2018.11.19 |