반응형
문자열에서 특정하게 구분하는 문자를 지정하여, 문자열을 나눠야 할 때 split 함수를 사용한다.
여러 방면으로 쓸모가 있는 거 같아 정리한다.
split ( String regex )
먼저, 마침표(.)로 구분되어 있는 문자열을 선언한다.
그 후에 split 함수를 사용하여 마침표(.)로 구분하고 temp라는 배열로 받는다.
💡 [ ] 넣어주지 않으면 제대로 실행이 되지 않았다.
// 문자열 대상 선언
String target = "첫번째.두번째.세번째.네번째";
// Null 또는 빈칸이 아닐 때 실행
if (target != null && !target.equals("")) {
// . 으로 구분
String[] temp = target.split("[.]");
// 출력
for (int i=0; i< temp.length; i++) {
System.out.println("IDX " + i + " : " + temp[i]);
}
} else {
// Null 또는 빈칸인 경우
System.out.println("결과 : 없음");
}
실행하여 결과를 확인하니까 잘 구분되어 출력한 거 같다.
split ( String regex , int limit )
두 번째 파라미터로 int 값을 줄 수 있는데, 자르는 배열의 개수를 제한할 수 있다.
다음으로 2를 넣어 줘서 실행해 보았다.
// 구분자(.)으로 나누기 - 두번째 파라미터 2 추가
String[] temp = target.split("[.]", 2);
실행하여 결과를 확인하니까 배열이 2개로 제한되는 것을 볼 수 있다.
split ( String regex , -1 )
두 번째 파라미터에 음수인 -1을 넣어줄 수 있는데, 이 경우에는 공백도 배열에 배열에 포함하여 넣어준다.
// 문자열 대상 선언 (네번째 생략)
String target = "첫번째.두번째.세번째..다섯번째";
// Null 또는 빈칸이 아닐 때 실행
if (target != null && !target.equals("")) {
// 구분자(.)으로 나누기 - 공백 포함
String[] temp = target.split("[.]", -1);
// 출력
for (int i=0; i< temp.length; i++) {
System.out.println("IDX " + i + " : " + temp[i]);
}
} else {
// Null 또는 빈칸인 경우
System.out.println("결과 : 없음");
}
이렇게 코드를 수정하고 다시 결과를 확인해 보니, 공백을 포함한 배열이 생성된 것을 확인해 볼 수 있었다.
이상, 밤톨만큼 코딩했다.
📚 참고
반응형
'코딩 > JAVA' 카테고리의 다른 글
[JAVA] replaceAll을 사용해서 특정 문자들을 지우기 (0) | 2022.11.29 |
---|---|
[JAVA] String index out of range 에러 발생하는 이유 (0) | 2022.11.27 |
[JAVA] 라이브러리를 사용하여 JSON 데이터 만들기 (ft. gson) (0) | 2022.11.23 |
[JAVA] renameTo와 move 함수를 사용하여 파일 이름 변경 및 이동하는 방법 (0) | 2022.11.21 |
[JAVA] SimpleDateFormat 오전, 오후 포함 문자열 날짜 형식 변경 (0) | 2022.11.05 |