문자열을 split(".") 할 때 결과값으로 공백이 나오는 경우가 있습니다.
이는 split() 메서드가 정규식으로 작동하기 때문입니다.
그럼 . 으로 자를 때 어떻게 잘라야 하는지 알아보겠습니다.
public class split {
public static void main(String[] args) {
String str = "dhlee.dev";
String[] arr = str.split(".");
System.out.println("split 시작");
for (String s : arr) {
System.out.printf("[%s]\t", s);
}
System.out.println();
System.out.println("split 종료");
String[] arr2 = str.split("\\.");
System.out.println("split 시작");
for (String s : arr2) {
System.out.printf("[%s]\t", s);
}
System.out.println();
System.out.println("split 종료");
String[] arr3 = str.split("[.]");
System.out.println("split 시작");
for (String s : arr3) {
System.out.printf("[%s]\t", s);
}
System.out.println();
System.out.println("split 종료");
}
}
결과
split 시작
split 종료
split 시작
[dhlee] [dev]
split 종료
split 시작
[dhlee] [dev]
split 종료
.split("\\.")
와 .split("[.]")
모두 잘 작동하는 것을 볼 수 있습니다.
반응형
'Java' 카테고리의 다른 글
[JAVA] 반복문에서 String 변수의 선언 위치 (0) | 2020.08.19 |
---|---|
[Java] 람다 (0) | 2020.07.12 |
[Java] List 중복 제거하기 (0) | 2020.07.09 |
[Java]Immutable Object(불변객체) (0) | 2020.07.03 |
[Java] String = ""; vs new String(""); (0) | 2020.07.01 |