본문으로 바로가기

[Java] 문자열 특정 구분자로 쪼개기(split)

category Backend/Java 2022. 5. 7. 13:40

1. split(String regex)

public String[] split(String regex)

: 문자열을 지정한 정규식으로 나누어서 String[]으로 반환합니다.

 

예시 1) 특정 구분자로 분리하기

String test = "Seoul:Daejeon:Daegu:Daejeon";

String[] split = test.split(":");

for (String s : split) {
    System.out.println(s);
}
/*
출력값
Seoul
Daejeon
Daegu
Daejeon
 */

 

예시 2) 여러 분리자로 분리하기(정규식 활용)

String test = "a,b-c:d.e=f";
String regex = ",|-|:|\\.|="; // .는 escape 필요

String[] split = test.split(regex);

for (String s : split) {
    System.out.println(s);
}
/*
출력값
a
b
c
d
e
f
 */

 

2. split(String regex, int limit)

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

: 문자열을 지정한 정규식으로 나누어서 String[]으로 반환합니다.

: int limit을 매개로 주어 리턴 받을 최대 배열 개수를 지정할 수 있습니다.

 

Ex) int limit = 3

배열 크기 = 3

즉, 2개 까지만 나누고 나머지는 그대로 반환

 

예시

String test = "Seoul:Daejeon:Daegu:Daejeon";

String[] split = test.split(":",3); // 배열의 길이 제한

System.out.println(split.length); // 3

for (String s : split) {
    System.out.println(s);
}
/*
출력값
Seoul
Daejeon
Daegu:Daejeon
 */