안드로이드에서 숫자만 추출해서 쓸 일이 있어서 따로 적어두려합니다.
Java 환경에서는 모두 동작할 듯 싶습니다.
public static int AfterDay(String data) { String mData = ""; mData = data.replaceAll("[^0-9]", ""); Log.i(TAG, TAG + " : " + mData); return Integer.valueOf(mData); }
replaceAll(string1,string2) 함수를 통해, 값을 얻어냅니다.
원래 replaceAll 은 string1의 조건이 만족하는 string을 string2로 교체하는 역활입니다.
replace같은 경우, 처음만 바꾸는 등의 여러 조건이 있지만, replaceAll은 문장 전체에 해당합니다.
위의 replaceAll("[^0-9]","")는
숫자를 제외한 String을 ""로 바꾸어 줍니다.
그리고 Integer.valueOf(String)을 통해 String -> int 형으로 값 변환을 합니다.
두가지 방법이 더 있는데,
String clean3 = string1.replaceAll("\\D", "");
String clean2 = string2.replaceAll("[^\\d]", "");
를 통해서도 추출이 가능합니다.
정규표현식으로 알고 있는데, 자세히는 모르겠네요, 다음에 포스팅 해야겠습니다..
위의 그림은 Input 값 wf30을 30으로 바꾸어 추출한 결과입니다.
(출처 : http://stackoverflow.com/questions/6883579/java-regular-expression-removing-everything-but-numbers-from-string)
댓글 없음:
댓글 쓰기