문자나 단어에서 특정 문구를 기준으로 자를 때 쓰는 함수가 여러가지 있는데요. 이런 함수를 이용하여 자바 문자열 자르기 기능을 수행해 보겠습니다.
보통 자바에서 문자를 자를 때 쓰는 함수는 Split과 StringTokenizer 가 있습니다. 둘다 문자열을 자르는 것은 동일하나 함수명이 다른 만큼 기능상에서도 차이점이 있습니다.
그래서 이번 시간에는 StringTokenizer 함수를 이용하여 특정 문자를 자르는 방법과 split 함수와의 차이점에 대해서 알아보도록 하겠습니다.
1. 선언 방법
위와 같이 java.util에서 제공하는 클래스를 선언합니다.
그리고 st1에 저장된 문자열을 while의 반복문을 통해 출력하면 됩니다.
2. split과의 차이점
1. Split은 공백으로 문자열을 자를시 공백을 표현해야 하지만 stringtokenizer은 공백을 표현하지 않음
2. 속도 측면에서 stringtokenizer가 Split보다 더 연산이 빠름
3. Split은 특수문자를 기준으로 문자열을 자를 경우 특수문자 앞에 //를 표현해야 함
3. 예제 소스
import java.util.StringTokenizer; public class StringTokenTest { public static void main(String[] args) { String A="A B C D E F G"; StringTokenizer st1 = new StringTokenizer(A); while (st1.hasMoreElements()) { String result = st1.nextElement().toString(); //공백으로 자를시 사용 // String result = st1.nextToken("/"); //특정문자로 자를시 사용 System.out.println("결과 : " + result +", 사이즈 :"+result.length()); } } }
3. 소스 결과
문자열을 공백으로 자른 뒤에 출력한 결과인데요.
정상적으로 잘려진 문자가 출력되는 모습입니다.
4. 공백이 아닌 특정문자로 자르기
위의 예제는 공백으로 잘랐을 때의 모습이며 이를 특정문자 기준으로 자를 수 있습니다.
이럴 때는 nextToken으로 이를 해결할 수 있습니다.
이렇게 stringtokenizer를 이용한 자바 문자열 자르기 기능에 대해서 알아보았는데요.다음 시간에는 이와 비슷한 split에 대해서 알아보겠습니다.
답글 남기기