본문 바로가기

IT

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이 출력된다. 참고하길...



참고사이트: 지랄같은 네이년이 트랙백이 정상적이지 않네;;;


서동규님의 사이트


기마나님의 사이트

반응형