split

서이·2022년 9월 13일
0

Java

목록 보기
14/27

split 함수는 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나누어 배열(Array) 에 저장하여 리턴합니다.


String str = "010-1234-5678";
String[] mobNum = str.split("-");
String ret1 = mobNum[0];
String ret2 = mobNum[1];
String ret3 = mobNum[2];

System.out.println("ret1 = "+ret1);
System.out.println("ret2 = "+ret2);
System.out.println("ret3 = "+ret3);

위와 같은 휴대폰 번호가 있다고 가정하고 이를 split("-") 했을 경우

"010", "1234", "5678" 로 나누어져 배열에 저장됩니다.

ret1 = 010

ret2 = 1234

ret3 = 5678

System.out.println("휴대폰번호 => "+ret1+"-"+ret2+"-"+ret3);
위와 같이 다시 휴대폰 번호 형태로 중간에 "-" 를 추가 해서 조합하면 결과는 아래와 같이 나옵니다.

휴대폰번호 => 010-1234-5678


String str2 = "서울,대전,대구,부산,인천,울산";
String[] cityArr = str2.split(",");

for (int i = 0; i < cityArr.length; i++){
    System.out.println(cityArr[i]);
}

6개 도시명을 쉼표로 구분하여 나열했는데요, 이를 split(",") 했습니다.

그리고 cityArr 의 length 만큼 for loop 을 돌려 결과 값을 찍어 봤습니다.

서울

대전

대구

부산

인천

울산

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

위의 인자값 하나만 받는것과 달리 int 형의 두번째 인자 값을 받는 split 함수 입니다.

두번째 인자 값은 배열의 크기를 결정합니다.

String str2 = "81-2-010-1234-5678";
String[] arr = str2.split("-", 2);
System.out.println("ret4 = "+arr[0]);
System.out.println("ret5 = "+arr[1]);

위와 같은 String 값이 있다고 했을때 "-" 를 인자 값으로 split 하면서 배열의 크기는 2로 한정 했습니다.

첫번째 "-" 를 기준으로 split 하면 아래와 같은 결과 값이 나옵니다.

ret4 = 81

ret5 = 2-010-1234-5678

arr[] 배열에 이미 ret4 와 ret5 가 들어 있으므로 더이상의 배열을 생성하지 않고 위 값이 최종 결과 값이 됩니다.

다른 예를 하나 더 보겠습니다.


String str2 = "81-2-010-1234-5678";
String[] arr2 = str2.split("-", 4);
System.out.println(arr2.length);
for (int i = 0; i < arr2.length; i++){
    System.out.println("ret"+i+" = "+arr2[i]);
}

동일한 String 값을 두번째 인자값으로 4를 입력 합니다.

arr2 배열 크기를 4로 지정한겁니다.

ret0 = 81

ret1 = 2

ret2 = 010

ret3 = 1234-5678

위와 같이 arr2 배열에는 4개의 값이 들어 가게 됩니다.

profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글

관련 채용 정보