String 함수중 split() "."을 사용하는 경우 정상작동하지 않는 이유..
숫자문자열을 정수단위와 소수단위를 잘라내려고 했다.
정상적으로 잘 되지 않는구만... 역시나...
문법적으로 정규식을 꼭 써야한다고 한다.
"." 의 경우 정규식으로 표현하는 방법이 2가지가 있다. "\" 기호를 사용하여 나타내는 방법과 "[]"를 이용하는 방법이다.
예를 들어
String string = "1000.12";
String[] strArr = string.split(".");
System.out.println(strArr.length());
를 찍어보면 0이 찍힌다. 당당하네;;;
위에서 소개한 2가지 방법은 정상적으로 작동한다.
String string = "1000.12";
String[] strArr = string.split("\\.");
System.out.println(strArr.length());
자세히보면 \b, \t 등과 다르게 '.'의 경우는 "\."이라고 하면 컴파일타임에러로 친절히 아니다라고 알려준다. 정상적인 방법은 2번 기호를 넣는 것이다. 역시 정상작동한다.
또 다른 방법으로는
String string = "1000.12";
String[] strArr = string.split("[.]");
System.out.println(strArr.length());
위 처럼 "[.]" 대괄호기호를 이용하여 묶는 방법이다.
둘다 정상적으로 잘 쪼개지는 구낭~~~~
하나더!!!!!
String string = "1000.";
String[] strArr = string.split("[.]");
System.out.println(strArr.length());
이것은 1일까 2일까... 상상하는데로 .뒤에는 별다른 문자열이 없으므로 1이 출력된다. 참고하길...
참고사이트: 지랄같은 네이년이 트랙백이 정상적이지 않네;;;