파일명에서 확장자를 가져오거나 제거할 때 유용한 코드를 기록으로 남긴다. /* lastIndexOf와 substring 이요 */ File f = new File("test.txt"); int dot = f.getName().lastIndexOf('.'); if(dot > -1) { //확장자 System.out.println(f.getName().substring(dot+1); //확장자 제거 System.out.println(f.getName().substring(0, dot); } 위의 코드를 아래처럼 간단하게 처리 가능하다. import org.apache.commons.io.FilenameUtils; File f = new File("test.tif"); //학장자 가져오기 System.out...
정규식 패턴을 이용한 카드번호 마스킹 처리 앞 7자리부터 6개의 문자를 "*"로 치환한다. private final static Pattern pan_pattern = Pattern.compile("^(\\d{4}\\D?\\d{2})(\\d{2})(\\D?)(\\d{4})(\\D?\\d{4})$"); public static boolean isPAN(String pan) { Matcher matcher = pan_pattern.matcher(pan); return matcher.matches(); } public static String maskPAN(String pan) { Matcher matcher = pan_pattern.matcher(pan); if(matcher.find()) { return ..
정규식 패턴을 이용한 주민등록번호 마스킹 처리 앞 7자리를 제외한 나머지 문자를 "*"로 치환한다. private final static Pattern ssn_pattern = Pattern.compile("^(\\d{6}\\D?\\d{1})(\\d{6})$"); public static String maskSSN(String ssn) { Matcher matcher = ssn_pattern.matcher(ssn); if(matcher.find()) { return new StringBuffer (matcher.group(1)).append("******").toString(); } return ssn; } 다른 방법으로 무조건 마지막 6자리를 *표로 치환하는 방법 private final static ..
정규식 패턴을 이용한 이메일 마스킹 처리 앞 3자리를 제외한 나머지를 "*" 로 마스킹 처리 한다. - 3자리 이하인 경우는 ... - private final static Pattern email_chk_pattern = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"); private final static Pattern email_pattern = Pattern.compile("^(...)(.*)@(.*)$"); public static boolean isEmail(String email) { Matcher matcher = email_chk_pattern...
정규식 패턴을 이용한 휴대폰, 일반전화 마스킹 처리 private final static Pattern phone_pattern = Pattern.compile("^(01[016789]\\D?)(\\d{3,4})(\\D?\\d{4})$"); private final static Pattern tel02_pattern = Pattern.compile("^(02\\D?)(\\d{3,4})(\\D?\\d{4})$"); private final static Pattern tel_pattern = Pattern.compile("^(\\d{3}\\D?)(\\d{3,4})(\\D?\\d{4})$"); public static boolean isPhone(String phone) { Matcher matcher = p..
JAVA에서 Exception 발생 시 printStackTrace 하는 것이 아닌 문자열로 추출하기 Apache에서 제공하는 ExceptionUtils 클래스를 이용하여 문자열 추출을 하고자 하는데 어느 버전부터 지원하는지 모르겠지만 2.6 버전에서도 지원하는 것을 보면 그 이후(2010년) 부터는 다 지원할 듯 합니다. 주요함수를 다음과 같습니다. String getMessage(Throwable e) : 마지막 에러의 짧은 문자열을 가져옵니다. String getRootCauseMessage(Throwable e) : 마지막 에러 이전의 에러에 대한 짧은 문자열을 가져옵니다. String getStackTrace(Throwable e) : Throwsble 로부터 StackTrace를 String ..
ORACLE에서도 정규식표현으로 휴대전화 포맷을 적용할 수 있지만 JAVA에서도 간단하게 적용 가능하다. 휴대전화번호는 무조건 3자리-3 또는 4자리-4자리로 되어 있기 때문에 다음과 같이 처리 가능하다. public static String makePhoneNumber(String phoneNoStr) { String regEx = "(\\d{3})(\\d{3,4})(\\d{4})"; if(!Pattern.matches(regEx, phoneNoStr)) return null; return phoneNoStr.replaceAll(regEx, "$1-$2-$3"); } 만약 앞의 3자리 값을 고정시키고 싶다면 다음과 같이 해 보는 것도 방법이다. public static String makePhoneNu..
유니코드를 이용하지 않고 MBCS(Multi Bytes Character Set) 을 사용하는 시스템과 통신 시 싱글바이트 문자열로 변경하는 소스코드 기록한다. /** * 멀티바이트 한글문자를 싱글바이트 문자열로 변경 (db2 -> oracle) * 작성 날짜: (00-06-18 오전 7:57:31) * @return java.lang.String * @param full java.lang.String */ public static String fullToHalf(String full) { String answer = null; int fullLength = full.length(); char[] ch1 = new char[fullLength]; full.getChars( 0, fullLength, ch..
- Total
- Today
- Yesterday