본문 바로가기

p-languages/java

java/ split() : 문자열을 특정 문자열으로 나누어 배열로 반환하는 메서드

split()

주어진 String 문자열을 일치하는 문자열을 기준으로 분할한다. 분할 후, String 배열을 반환한다.


1. public String[] split(String regex, int limit)

regex

문자열을 나누어줄 String을 입력한다

 

limit > 0

limit으로 받은 수의 길이 만큼의 배열을 생성한다.

split 할 문자가 limit보다 많이 존재하는 경우, 입력받은 limit까지만 split하고 배열의 마지막 항목에 남은 모든 String을 반환한다.

 

limit = 0

입력받은 문자열이 더 이상 원본 String에 존재하지 않을 때까지 split 한다. split하다가 문자열의 뒤가 빈 문자열로만 이루어진 경우, 빈 문자열은 버린다.

 

limit < 0

입력받은 문자열이 더 이상 원본 String에 존재하지 않을 때까지 split 한다.


eg.

String str = "이 메서드는 문자열을 나누어 주는 메서드   ";

String[] arrOfStr = str.split(" ", 3);
for(String a : arrOfStr){
    System.out.println(a);
}
System.out.println("-----------------------------");


String[] arrOfStr2 = str.split(" ", 0);
for(String a : arrOfStr2){
    System.out.println(a);
}
System.out.println("-----------------------------");


String[] arrOfStr3 = str.split(" ", -8);
for(String a : arrOfStr3){
    System.out.println(a);
}
System.out.println("-----------------------------");

str.split(" ", 3)

주어진 문자열을 " "으로 나누어  String 배열에 저장한다. 배열의 최대 길이는 3으로 설정되었으므로 배열의 길이가 3이 되었을 때 split을 멈추고 반환한다.

str.split(" ", 0)

주어진 문자열을 " "이 더 이상 없을 때까지 split 해 String 배열으로 반환한다. 이때, 주어진 문자열의 마지막은 "   "인데 limit=0으로 줄 경우 split()은 문자열을 더 이상 나누지 않고 반환한다.

arrOfstr2 배열의 길이는 6이 된다.

 

 

str.split(" ", -8)

주어진 문자열을 " "이 더 이상 없을 때까지 split 해 String 배열으로 반환한다.  limit을 0으로 주었을 때와는 다르게 문자열 마지막에 있는 빈 문자열까지 " " 단위로 나누어 반환하였다. arrOfstr3 배열의 길이는 9이다.

 

 

 

+) limit=0

String[] arrOfStr4 = str.split("메서드", 0);
for(String a : arrOfStr4){
    System.out.println(a);
}
System.out.println("-----------------------------");

regex="메서드"로 split 한 경우 "메서드"를 기준으로 일단 문자열을 split하고, 이후의 문자열은 "메서드"가 포함되지 않았으므로 그대로 반환한 것이다.  arrOfstr4.length = 3

 


2. public String[] split(String regex)

주어진 문자열을 입력한 String으로 나누어 배열로 반환한다. 기본 limt는 0으로 설정되어 split(String regex, 0)과 똑같은 결과를 반환하게 된다.

 


reference.

 

Split() String method in Java with examples - GeeksforGeeks

The string split() method in Java splits a given string around matches of the given regular expression. Learn more with different examples.

www.geeksforgeeks.org