Java 문자열 자르기_자바_Split 함수
- Coding/Java
- 2019. 7. 8.
1. 문자열 자르기
자바를 이용하여 String 메시지를 파싱 하여 처리를 해야 하는 상황이 많아
자체적으로 정리를 하다가 Split 함수에 관하여 포스팅합니다.
자바 String 클래스에는 여러가지 유용하게 사용 가능한 함수들이 많습니다.
SubString, Split, replace 등등의 함수가 내장되어 있는데
프로젝트를 진행하며 직접 구현을 대신하여 사용 가능한 함수들이 많습니다.
그중에서도 Split 함수의 경우 간단하게 특정 문자나 문자열을 기준으로
문자열을 잘라주는 함수입니다.
사용 도중 "|" 으로 문자열을 잘라야 하는 경우까지 대비해서
예제로 사용법에 대하여 포스팅하오니 유용하게 사용하시길 바랍니다.
2. Split 함수 사용
String str = "Beenzino#Dok2#The Quiett";
String[] splitData = str.split("#");
for(int i=0; i<splitData.length; i++) {
System.out.println("splitData"+i+" : " + splitData[i]);
}
위의 코드를 예제로 split 함수를 살펴보면
str 변수에 "Beenzino#Dok2#The Quiett" 문자열이 들어가고
splitData 배열에 "#" 문자 기준으로 str 문자열을 잘라 넣어줍니다.
split 함수의 리턴 값은 String[] 이기 때문에 splitData 변수는
스트링 배열값으로 선언해 주어야 정상적으로 값이 저장됩니다.
결과값은 다음과 같이 나타나게 됩니다.
splitData0 : Beenzino
splitData1 : Dok2
splitData2 : The Quiett
3. 특정 문자열을 사용하여 Split 함수 사용
Split 함수를 사용할 때 특정 문자열을 기준으로 할 때에는 의도한 바로
함수가 작동하지 않는 경우가 있습니다.
String str = "Beenzino|Dok2|The Quiett";
String[] splitData = str.split("|");
for(int i=0; i<splitData.length; i++) {
System.out.println("splitData"+i+" : " + splitData[i]);
}
/* 결과값
splitData0 : B
splitData1 : e
splitData2 : e
splitData3 : n
splitData4 : z
splitData5 : i
splitData6 : n
splitData7 : o
splitData8 : |
splitData9 : D
splitData10 : o
splitData11 : k
splitData12 : 2
splitData13 : |
splitData14 : T
splitData15 : h
splitData16 : e
splitData17 :
splitData18 : Q
splitData19 : u
splitData20 : i
splitData21 : e
splitData22 : t
splitData23 : t
*/
위의 경우 String을 "|" 문자로 나눌 때 발생하는 문제입니다.
또한 텝(Tab)이나 "."을 기준으로 문자열을 나눌 경우에도
의도와 다른 결과를 나타낼 때가 있습니다.
탭의 경우 split 함수의 인자로 "\t"를
"." 이나 "|" 문자의 경우 "\\." 과 "\\|" 문자를 넣어주면
정상적으로 split 함수가 동작하게 됩니다.
String str = "Beenzino|Dok2|The Quiett";
String[] splitData = str.split("\\|");
for(int i=0; i<splitData.length; i++) {
System.out.println("splitData"+i+" : " + splitData[i]);
}
/* 결과
splitData0 : Beenzino
splitData1 : Dok2
splitData2 : The Quiett
*/
- "|" 문자로 split 하기 위한 방법
String str = "Beenzino Dok2 The Quiett";
String[] splitData = str.split("\t");
for(int i=0; i<splitData.length; i++) {
System.out.println("splitData"+i+" : " + splitData[i]);
}
/* tab split 결과
splitData0 : Beenzino
splitData1 : Dok2
splitData2 : The Quiett
*/
- Tab 으로 split 하기 위한 방법
위의 예제를 참고하여 split 함수를 유용하게 사용하셨으면 좋겠습니다.
문의 사항이나 오류 & 기타 질문은 댓글로 남겨주시면 바로 반영하겠습니다.
X. 참고 사이트
'Coding > Java' 카테고리의 다른 글
Windows 10 JDK 설치 방법_자바_Java (0) | 2019.05.01 |
---|