ToBe끝판왕

[ JAVA ] 문자열분리 / StringTokenizer 클래스 / Split( ) 메서드 본문

■ 공부 기록/개념 정리

[ JAVA ] 문자열분리 / StringTokenizer 클래스 / Split( ) 메서드

업그레이드중 2022. 5. 19. 17:21
반응형

자바( JAVA )에서 문자열 구분을 위해 자주 사용되는

Split( ) 메서드와 StringTokenizer 클래스에 대해 정리해보려 한다.

 


 

StringTokenizer 클래스

 

•  java.util 패키지에 포함되어 있는 클래스

•  java.util.StringTokenizer; ( import  )

•  클래스이기 때문에, 객체를 생성해야 한다.

•  지정한 한가지 구분자로 문자열을 나눌 수 있다. ( 나누어진 문자열을 Token이라고 부른다. )

•  구분자를 생략하면 공백이 기본구분자가 된다.

 

•  StringTokenizer 생성

1)
StringTokenizer st = new StringTokenizer( 문자열 );

=> 띄어쓰기 기준으로 문자열을 분리

2)
StringTokenizer st = new StringTokenizer( 문자열, 구분자 );

=> 구분자를 기준으로 문자열을 분리

3)
StringTokenizer st = new StringTokenizer( 문자열, 구분자, true/false );

=> 구분자를 기준으로 문자열을 분리 시
   구분자도 토큰으로 넣을지 ( true )
   아니면 포함시키지 않을 것인지( false )결정

 

•  StringTokenizer 클래스 주요 메서드

메서드 설명 리턴타입
nextToken( ) 다음 토큰을 리턴한다.

이전 토큰은 제거
String
hasMoreToknes( ) 리턴할 다음 토큰이 남아있으면 true

리턴할 다음 토큰이 없으면 false
boolean
countTokens( ) 남아있는 토큰의 개수를 리턴 int

 

 

•  StringTokenizer 클래스 예시

public class Study {

	public staic void main( String[] args ) {
    	
        String source = " 100, 200, 300, 400 ";
        StringTokenizer st = new StringTokenizer( source, "," );
        
        while( st.hasMoreTokens() ) {
        	System.out.println( st.nextToken() );
        }
    }
}
100
200
300
400

 

 

Split( ) 메서드

 

•  String 클래스의 메서드이다.

•  지정한 구분자로 문자열을 나눠 배열에 저장

•  공백 문자열도 포함

 

 

•  split( ) 메서드 예시

public class Study {

	public static void main( String[] args ) {
    
    	String Str = "a@b3c%d";
        
        String[] strArr = Str.split( "@|#|%" );
        
        System.out.println( Arrays.toString( strArr ) );
    }
}

정규식에서 '|' 기호는 or 연산을 수행합니다.
따라서 '@' , '#' , '%' 기호를 구분자로 하여 문자열을 나눕니다.

 

 

※ 정규표현식

 

차이점

 

•  StringTokenizer는 문자 or 문자열로 구분 / split( ) 메서드는 정규표현식으로 구분

•  StringTokenizer는 지정한 한 가지 구분자로 나누고, split( ) 메서드는 여러 개의 구분자 지정 가능

•  속도 : StringTokenizer > split( )

 

 

 

반응형
Comments