Java/Source2009. 5. 28. 11:03

전화번호와 같은 값을 받아서 사용할때,
포맷에 따라 '-', ')' 등의 특수문자가 들어있을 수도 있다.
그냥 문자 치환을 통해서 해결할 수 있는 경우가 많지만
예측할 수 없는 문자가 있을 수 있는 경우는 어떻게 해야 할까?
아래와 같은 방법으로 문자들을 모두 체크해서 숫자인것만 뽑아내야 하겠다.
처음에 생각했던 로직은 반복문 안에서

if ("0123456789".indexOf(curChar) > -1)

대충 이런식으로 숫자인지 확인을 하는 것이었지만
Character 클래스의 isDigit(char char) 함수를 사용하니 훨신 빠르게 돌아갔다.
100만번 돌리고 ms 측정을 하고 캡쳐를 했지만 이 포스트 쓸때는 찾지 못했음.

========================================================================
	public static String getOnlyNumberString(String str) {
		if (str == null)
			return str;

		StringBuffer sb = new StringBuffer();
		int length = str.length();
		for (int i = 0; i < length; i++) {
			char curChar = str.charAt(i);
			if (Character.isDigit(curChar))
				sb.append(curChar);
		}
		return sb.toString();
	}
Posted by Huikyun