티스토리 뷰
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가지 다 사용방법을 숙지하세요.
'JAVA(프로그래밍)' 카테고리의 다른 글
java String 문자열 텍스트 파일에 저장하기 FileWriter (0) | 2018.07.26 |
---|---|
java substring 문자열 자르기 (0) | 2018.07.26 |
java String vs StringBuffer 비교 (0) | 2018.07.26 |
java Properties 사용하기 (0) | 2018.07.25 |
java TreeMap 클래스 사용법 (0) | 2018.07.25 |
- Total
- Today
- Yesterday
- java 노트패드
- File Class
- java wrapper class
- java substring
- 자바 패키지
- java ArrayList
- java Vector
- java 소켓
- java문자열저장
- java Properties
- java tihs
- java텍스트파일저장
- java join
- java배열
- java문자열자르기
- 객체파일저장
- java treemap
- linkHashMap
- java File
- java wrapper
- java 네트워크
- java iterator
- 자바 랩퍼
- 자바
- Java
- java LinkedHashMap
- java StringBuffer
- java 메모장
- java replaceAll
- java Enumeration
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |