JAVA

JAVA 문자열 자르기(split)

Ambitions 2020. 4. 17. 16:44

오늘은 문자열 시리즈 두번쨰인 split에 대해서 간단명료하게 정리해보고자한다.

먼저 split 메서드는 String형의 자료를 특정조건으로 잘라준 뒤 배열로 리턴해주는 기능을 한다.

사용법을 코드로 보자면 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Test {
    public static void main(String[] args){        
        
        String a = "1, 2, 3, 4, 5, 6, 7";
 
        String[] result = a.split(","); //컴마(,)를 기준으로 문자열 분리
        for(int index = 0; index < result.length; index++) {
            System.out.println(result[index]);
        }
        for(String item : a.split(",")) { // 위 for문을 다음과 같이 수정할 수 있다.
            System.out.println(item); //결과 : 1 2 3 4 5 6 7
        }
    }    
}
cs

여기서 한가지 추가로 정리하자면 자바 공식 API문서를 보면 특이한게 하나있는데, 

split의 파라미터에 조건외에 정수형 값을 추가할 수 있다는 점이다. 저 파라미터를 전달함으로써 얻을 수 있는 결과는 내식대로 표현하자면 정수형 파라미터의 개수 = 리턴되는 배열의 개수라고 할 수 있겠다. 이걸 코드로 정리하면 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
class Test {
    public static void main(String[] args){
                
        String a = "1, 2, 3, 4, 5, 6, 7";
 
        for(String item : a.split(","2)) { // 위 for문을 다음과 같이 사용할 수 있다.
            System.out.println(item); //결과 : 1 (개행) 2,3,4,5,6,7
 
        }
    }    
}
cs

즉 1이라는 값만 분리되어 별개의 배열에 들어갔고, 나머지 값들은 두 번쨰 배열공간에 저장된 것이다.

String관련 메서드들은 유용하게 사용할 수 있으니 꼭 알아두면 좋을 것 같다.