프로그래밍언어/Java

[Java] replaceAll() 특수문자 제거, 숫자빼고, 문자빼고 총 정리

지이구 2021. 6. 29. 11:44

replaceAll은 쓸때마다 참 헷갈리는 것같다..

기본적으로 알아야할 것은

str.replaceAll("[{바꾸고싶은 문자의 정규식}]", "{치환할 문자}");

이렇게 사용하는데 정규식이 아주 헷갈리고 쓰기 어려울 때가 있다

표와 예시를 참고해서 사용하면 짱짱 이해잘됨!!!

 

정규식 의미 예시
0-9 모든 숫자 str.replaceAll("[0-9]","*");
^0-9 숫자 빼고 모든 문자 str.replaceAll("[^0-9]","*");
a-z 영어 소문자 str.replaceAll("[a-z]","*");
A-Z 영어 대문자 str.replaceAll("[A-Z]","*")
\uAC00-\uD7A3 모든 한글 음절(가-힣) str.replaceAll("[\uAC00-\uD7A3]","*");
\\s 띄어쓰기 str.replaceAll("[\\s]","*");
- 빼기 str.replaceAll("[-]","*");
_ 밑줄(언더바) str.replaceAll("[_]","*");
. 마침표 str.replaceAll("[.]","*");


예시) 한글, 숫자, 영문, 띄어쓰기 빼고 = 모든 특수문자 제거

 

 

 

예시) 한글, 숫자, 영문, 띄어쓰기 빼고 = 모든 특수문자 제거

public static String StringReplace(String str){       
      String match = "[^\uAC00-\uD7A30-9a-zA-Z]";
      str = str.replaceAll(match, " ");
      return str;
   }

 

예시) 숫자 빼고 전부 제거

public static String StringReplace(String str){       
      String match = "[^0-9]";
      str = str.replaceAll(match, " ");
      return str;
   }
728x90
반응형