안녕하세요. 제임스 입니다. 

 

이번에는 Java 에서 String 을 다룰때 유용하게 사용할 수 있는 함수 중 한가지인 split 함수에 대해 알아 보겠습니다. 

 

■ String[] split(String regex)

 

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 을 돌려 결과 값을 찍어 봤습니다. 

 

서울

대전

대구

부산

인천

울산

 

결과 값이 이렇게 나옵니다. 참 쉽죠? 

 

정규표현식을 이용한 split 방법도 있는데요. 이는 정규표현식에 대한 내용을 포스팅한 이후 다시 한번 정리 하겠습니다. 

 

 

■ 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개의 값이 들어 가게 됩니다. 

 

 

이상 자바 문자열을 자르기 해봤습니다. 

 

 

 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,