본문 바로가기
IT, 개발/JAVA

JAVA - 문자열 자르기 split 함수 (문자열 나눠서 배열로 만들기 String to Array)

by 개발자스터디 2022. 12. 7.
반응형

 

 

 

 

 

자바에서 문자열을 나눠서 배열로 만드는 방법이 있습니다.

Split 함수는 구분자(기준이 되는 것)를 사용하여 문자열을 자르고 그것을 배열로 만들어줍니다.

 

split 함수를 사용하는 방법에는 두 가지가 있습니다.

split(String regex)
split(String regex, int limit)

 

구분자를 기준으로 문자열을 자르고 그것을 배열로 return 하는 방법은 동일하지만 

두 번째 int limit 항목을 추가하면 limit 수만큼의 배열을 만들게 됩니다.

 

예제를 통해 알아보도록 하겠습니다.

 

 

1. split(String regex)

 

테스트용 문자열을 만들고 그 문자열을 구분자를 기준으로 나눠보는 예제입니다.

에제에서 사용된 구분자는 "," 쉼표를 사용하였습니다.

 

구분자는 쉼표뿐만 아니라 다양한 문자열이나 공백이 될 수도 있습니다. 
내가 나누고 싶은 문자열의 규칙을 잘 살펴보고 구분자를 무엇으로 해야 할지 결정하면 됩니다.
대략적으로 많이 사용하는 구분자 : -  _  /  |  ,  .  

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SplitTest
{
    public static void main( String[] args )
    {
        String testStr = "orange,banana,melon,strawberry";  // 테스트 문자열 
        String delimiter = ",";                             // 구분자 
        
        System.out.println("테스트 문자열 : " +testStr);
        
        // split 배열 
        String[] resultArray = testStr.split(delimiter);
        
        for (int i = 0; i < resultArray.length; i++
        {
            System.out.println("resultArray["+i+"] : " + resultArray[i]);
        }
    }
}
 
cs

 

실행 결과입니다.

 

테스트 문자열 : orange,banana,melon,strawberry
resultArray[0] : orange
resultArray[1] : banana
resultArray[2] : melon
resultArray[3] : strawberry

 

반응형

 

 

2. split(String regex, int limit)

 

이번에는 int limit까지 작성하여 결과를 확인해보도록 하겠습니다.

입력한 limit가 최종적으로 만들어질 배열의 length가 됩니다.

입력한 limit까지 구분자를 기준으로 문자열을 나눠서 배열을 만들고 그 뒤는 더 이상 문자열을 자르지 않고 마지막 index에 남은 문자열을 넣습니다.

 

예제를 보면 이해가 더 빠르게 될 겁니다.

저도 사용하면서 index 자릿수로 착각할 때가 있어서 실수하는 경우가 있는데 배열의 length라는 것을 꼭 기억해서 사용하시기 바랍니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SplitTest
{
    public static void main( String[] args )
    {
        String testStr = "orange,banana,melon,strawberry";  // 테스트 문자열 
        String delimiter = ",";                             // 구분자 
        int limitInt = 2;                                   // limit
        
        System.out.println("테스트 문자열 : " +testStr);
        
        // split 배열 
        String[] resultArray = testStr.split(delimiter, limitInt);
        
        for (int i = 0; i < resultArray.length; i++
        {
            System.out.println("resultArray["+i+"] : " + resultArray[i]);
        }
    }
}
cs

 

실행 결과입니다.

 

테스트 문자열 : orange,banana,melon,strawberry
resultArray[0] : orange
resultArray[1] : banana,melon,strawberry

 

 

 

 

 

728x90
반응형