Java String split메소스 사용시 `.` 문자 주의

애플리케이션에서 버전을 관리를 해야하기 때문에 서버에서 최신 버전을 받아왔다.
버전정보를 요청하면 Android 애플리케이션의 최신 버전이 Semver로 오도록 하였다.

``` JSON
{
    android: "1.0.0"
}
```

위와같은 식으로 오게 하였는데 앱에서 이 JSON을 받아서 "1.0.0" String을
'.'으로  split하여 String Array에 각각 {"1", "0", "0"} 이 들어오도록 하였다.

그치만 왠걸... split이 되질 않는것이다.
문제를 해결하기 위해 구글링 해보니 stackoverflow에서 이런 글을 찾았다.

Java string split with “.” (dot)

흠... 내용을 읽어보시면 알겠지만
. 문자는 정규표현식으로 사용될 수 있기 때문에 "." 문자로 split하는것이 아니라 정규표현식 으로 사용되어 원하지 않는 방식으로 동작한것이다.

따라서 재대로 나오게 하려면 string.split("\\.") 을 해주어야한다.



댓글

이 블로그의 인기 게시물

IntelliJ로 Swing 개발하기 #1

Android Emulator 키보드 사용 설정

Android layout_marginStart와 layout_marginLeft의 차이