티스토리 뷰

JAVA(프로그래밍)

java split() , join() 알아보자

알 수 없는 사용자 2018. 7. 26. 06:00

java split() , join() 알아보자

 

안녕하세요. 지난 시간에는 java Properties에 대해 알아보았습니다.

이번에는 문자열을 배열로 변환하는 메소드인 split와 문자열을 배열로 변환시켜주는 join에 대해 알아보겠습니다.

 

간단히 예제를 통해서 확인해보겠습니다.

 

-----------------------------------------------------

  // split 함수는 문자열을 특정구분자로 나눠서 배열로 만들어 줍니다.

  String str= "홍길동^김과장^이명기^최과장";
  String[] arrayStr= str.split("\\^");
  System.out.println("arrayStr size->" + arrayStr.length);
  System.out.println("split 결과값 ->문자열을배 열로 변환");
  for (String t : arrayStr) {
   System.out.println(t);
  }
---------------------------------------------------------------

결과값

arrayStr size->4
split 결과값 ->문자열을배 열로 변환
홍길동
김과장
이명기
최과장

 

^ 기준으로 문자열을 잘라서 array를 만들어 주고 있습니다.

실제 사이즈가 4를 가진 arrayStr[] 배열이 생성되었습니다.

arrayStr[0] = 홍길동 ,arrayStr[0] =김과장,arrayStr[0] =이명기,arrayStr[0] =최과장

 

  join 은 split와 반대대는 개념으로 배열을 문자열로 합쳐주는 메소드입니다.
 사용법은 간단합니다.

 

  str= String.join("|", arrayStr);

  System.out.println("join 결과값 -> 배열을 문자열로 변환");
  System.out.println(str);

 

결과값

join 결과값 -> 배열을 문자열로 변환
홍길동|김과장|이명기|최과장

|구분자로 배열값들을 하나의 문자열로 변환된걸 결과값을 통해 확인하실수 있습니다.

 

 // join과 split 를 사용해서 핸드폰번호의 -를 제거해보겠습니다.

  String phone= "010-323-2928";
  String strPhone= String.join("", phone.split("-"));

  System.out.println("변환전 핸드폰번호 -> " + phone);
  System.out.println("변환후 핸드폰번호 -> " + strPhone);

 

결과값

변환전 핸드폰번호 -> 010-323-2928
변환후 핸드폰번호 -> 0103232928

  // split와 join 사용방법을 알려드리려고 예제를 위와 같이 사용했습니다.
  // 실제 핸드폰번호의 '-' 기호를 제거하려면 좀 더 쉽게 가능합니다.

  phone= phone.replace("-", "");

  System.out.println("replace를 이용하여 '-'를 제거");
  System.out.println("'-' 제거된 핸드폰번호-> " + phone);

 

결과값

replace를 이용하여 '-'를 제거
'-' 제거된 핸드폰번호-> 0103232928

  위와 같이 replace를 사용하면 손쉽게 제거가 가능합니다.

  split를 사용하게 되는경우는 약속된  구분자로 정형화된  데이타를  주고 받을때  사용할수 있습니다.

  -----------------------------------------------------------------------------------------------------------------

송신데이타 구분자(|)

  String sendData= "0133434425|200180723|900000";
  // 거래번호|거래일자|거래금액

  //이런 포맷형태로 data를 주고 받는다고 약속했다면
  // 수신하는 쪽에서는 문자열로 데이타를 받은후에 구분자로 잘라서 사용하면 됩니다.

  String[] array= sendData.split("\\|");
  String arr1= array[0]; //거래번호
  String arr2= array[1]; //거래일자
  String arr3= array[2]; //거래금액

  //이런식으로 arr1에는 거래번호, arr2는 거래일자, arr3은 거래금액의 데이타를 가지게 되며 해당 변수를 가공하여 업무 프로세스에 맞게
  // 사용하시면 됩니다.


  //참고로 구분자에 해당하는 문자가 없을때에는 null을 반환하는게 아니라
  // 기존문자열 그대로를 반환하게 됩니다.
  // 결과값을 보시면 알겠지만 null 이 아닌 기존 문자열을 그대로 배열로 만들어 줍니다.
  // 결국 첫번째 인덱스인 0 에 기존문자열이 저장됩니다.

  String sendData1= "0133434425200180723900000";
  String[] array1= sendData1.split("\\|");
  System.out.println(array1.length);
  System.out.println(array1[0]);

 

 

 간단하게 java split 함수와 join 함수에 대해 알아봤습니다.
  해당 함수는 서로 상관관계가 있는지라 2가지 다 사용방법을 숙지하세요.

 

 

 

댓글