본문 바로가기
개발/JAVA, Spring

[JAVA] 문자열에서 숫자만 남기고 제거하기 (replaceAll)

by 똘똘이박사 2021. 6. 16.

지난번과 비슷한 일이 벌어졌다.

이번에는 날짜형식으로 된 8자리 데이터를 보내와야 하는데 싹다 무시하고 '0000-00-00' 형식으로 데이터가 날아왔다.

 

지난번에 작성한 특정 문자열을 제거하는 것으로는 해결이 되지 않는 문제다.

사실 지난번 문제보다 더 간단하다. 숫자만 빼고 모든 문자를 없애버리면 되기 때문이다.

따라서 문자열 메서드 중 replaceAll 을 사용하면 된다.

 

데이터가 '0000-00-00' 식으로 날아 왔기 때문에 

단순히 

str.replaceAll("-","");

str.replaceAll("-","");

식으로 처리해 줘도 되겠지만

또 어떤 형식으로 날아 올지 알 수 없기 때문에

숫자 이외의 문자는 모두 제거 하기로 한다.

따라서 이번에도 정규식을 사용하기로 한다.

str.replaceAll("[^0-9]","");

str.replaceAll("[^0-9]", "");

0~9 이외의 문자는 모두 제거한다.

"-" 만 제거 하는 것보다 훨씬 범용성이 좋아 졌다.

반응형