개인정보 보안요건때문에 건물번호와 상세주소를 마스킹처리 해야했다.
참고 사이트에서 확인한 정규식에서 약간만 수정했음
private static String getAddressMask(String value) {
String regex = "(([가-힣]+(d|d(,|.)d|\\d|)+(읍|면|동|가|리))(^구|)((d(~|-)d|d)(가|리|)|))([ ](산(d(~|-)d|d))|)|(([가-힣]|(d(~|-)d)|d|\\d)+(로|길))";
Matcher matcher = Pattern.compile(regex).matcher(value);
if(matcher.find()) {
String mainAddress = value.substring(0, matcher.end());
String detailAddress = value.substring(matcher.end());
return mainAddress + detailAddress.replaceAll("\\S", "*");
}
return value;
}
fullAddress":"경기도 김포시 청송로 ***"
"fullAddress":"경기 용인시 수동지구 풍덕천동 **** ***** **** ****"
"fullAddress":"서울 강남구 강남대로33길 ** ****** **"