프로그램 언어/Java
Java Split Null 값 처리
husks
2020. 6. 3. 10:35
반응형
Java 에서 Split 하다보면 값이 없어서 결과가 이상한 경우가 있습니다.
아래 소스의 a와 b 변수를 확인해보시기 바랍니다.
,(쉼표) 구분자로 분리하면 a와 b의 배열 숫자는 모두 7개가 나와야 합니다.
하지만 a는 6개, b는 0개 입니다.
해당 배열을 7개를 기준으로 처리 하고 싶다면 Split에 limit 값을 추가하면 됩니다.
String.split(string text, int limite)
넣은 값만큼 배열이 생성됩니다.
아래 소스와 결과를 확인하시기 바랍니다.
[소스]
String a = "1,,,1,,2,";
String b = ",,,,,,";
System.out.println("--No Limit--");
String[] a1Array = a.split(",");
String[] b1Array = b.split(",");
for(String a_1: a1Array) {
System.out.println("a_1: "+a_1);
}
for(String b_1: b1Array) {
System.out.println("b_1: "+b_1);
}
System.out.println("--Limit 2--");
String[] a2Array = a.split(",",2);
String[] b2Array = b.split(",",2);
for(String a_1: a2Array) {
System.out.println("a_1: "+a_1);
}
for(String b_1: b2Array) {
System.out.println("b_1: "+b_1);
}
System.out.println("--Limit 30--");
String[] a3Array = a.split(",",30);
String[] b3Array = b.split(",",30);
for(String a_3: a3Array) {
System.out.println("a_3: "+a_3);
}
for(String b_3: b3Array) {
System.out.println("b_3: "+b_3);
}
[결과]
--No Limit-- a_1: 1 a_1: a_1: a_1: 1 a_1: a_1: 2 --Limit 2-- a_1: 1 a_1: ,,1,,2, b_1: b_1: ,,,,, --Limit 30-- a_3: 1 a_3: a_3: a_3: 1 a_3: a_3: 2 a_3: b_3: b_3: b_3: b_3: b_3: b_3: b_3: |
반응형