美文网首页
正则使用

正则使用

作者: 终极蚂蚁 | 来源:发表于2019-08-21 10:41 被阅读0次

正则

  • 替换11位数字(手机号)中的4-7位为*
/**
 - 替换11位数字(手机号)中的4-7位为*
 - @param text 匹配文本
 - @return 隐藏后的文本
 */
private static String hideTel (String text) {
    // 如果字符串为空,直接返回
    if (StringUtils.isBlank(text)) {
        return text;
    }
    // 设定正则表达式(检测11位数字)
    Pattern pattern = Pattern.compile("\\d{11}");
    Matcher matcher = pattern.matcher(text);
    // 如果检测到有匹配值,则替换第四位到第七位为*
    while (matcher.find()) {
        String beforeChange = matcher.group(0);
        String afterChange = beforeChange.substring(0, 3) + "****" + beforeChange.substring(7);
        text = text.replace(beforeChange, afterChange);
    }
    return text;
}
  • 测试
public static void main(String[] args) {
    System.out.println(hideTel("18512345678feiji18512345687"));
    System.out.println(hideTel("12345678910"));
    System.out.println(hideTel("123456789101"));
    System.out.println(hideTel("123456799114"));
}
  • 输出
185****5678feiji185****5687
123****8910
123****89101
123****99114

相关文章

网友评论

      本文标题:正则使用

      本文链接:https://www.haomeiwen.com/subject/sgqbsctx.html