public static String mailFormatInfo(String mail){ try { if(StringUtil.isEmpty(mail)){ return mail; } //1,去除空格,特殊字符 mail = mail.trim(); mail = removeCR(mail); mail = removeSpace(mail); mail = mail.replace("\u00A0", ""); //2,循环去符号 if(mail.contains(MAIL_SPIT)){ //替换@符号之前的内容 String preFix = mail.substring(0, mail.indexOf(MAIL_SPIT)); if(!org.springframework.util.StringUtils.isEmpty(preFix)){ int preLength = 0; int sub = 0; do{ //替换之前的长度 preLength = preFix.length(); //替换符号 String first = preFix.substring(0,1); first = first.replaceAll("[\\pP\\p{Punct}]",""); preFix = first + preFix.substring(1); //替换长度 sub = preLength - preFix.length(); }while (sub > 0 && preFix.length() > 0); } //替换@符号之后的内容 String lastFix = mail.substring(mail.indexOf(MAIL_SPIT) + 1); if(!org.springframework.util.StringUtils.isEmpty(lastFix)){ int preLength = 0; int sub = 0; do{ //替换之前长度 preLength = lastFix.length(); //替换符号 String last = lastFix.substring(lastFix.length() - 1, lastFix.length()); last = last.replaceAll("[\\pP\\p{Punct}]",""); lastFix = lastFix.substring(0, lastFix.length() -1) + last; //替换长度 sub = preLength - lastFix.length(); }while (sub > 0 && lastFix.length() > 0); } //组装最后替换结果 mail = preFix + MAIL_SPIT + lastFix; } //3,去除空格,特殊字符 mail = mail.trim(); mail = removeCR(mail); mail = removeSpace(mail); } catch (Exception e) { e.printStackTrace(); } return mail; }