본문 바로가기

개발개발/java

[JAVA] 정규식을 이용해 숫자+문자 혼합 문자열에서 숫자만 추출하기

[JAVA] 정규식을 이용해 숫자+문자 혼합 문자열에서 숫자만 추출하기


int형 컬럼에 데이터를 집어넣어야 하는데 파싱된 값을 보니 문자+숫자+콤마 혼합형으로 넘어와서

숫자만 남겨야 하는 상황이 생겼다.


이런 경우에 replaceAll을 써야 하는 것인가 했지만

옆자리 찬스로 정규표현식으로 할 수 있다는 것을 알고 구글링하여 아래와 같이 구현했다.


		String amt = "금8,300,000,000원";
		String tmpStr = amt;
		StringBuffer sb = new StringBuffer();

		if (tmpStr.length() != 0) {
    		  Pattern p = Pattern.compile("[^\\d]");
    		  Matcher m = p.matcher(tmpStr);
    		  while (m.find()) {
    		    m.appendReplacement(sb, "");
    		  }
    		  m.appendTail(sb);
		} else {
		  sb.append("");
		}
		System.out.println(sb.toString());


'개발개발 > java' 카테고리의 다른 글

[JAVA] 정규표현식을 이용한 밸리데이션 체크  (0) 2018.08.07