废话不多说,直接看代码
- 隐藏手机号
String phone = "17721029999";
System.out.println(phone.replaceAll("(\\d{3})\\d{6}(\\d{2})", "$1****$2"));
输出结果为:177****99
- 隐藏身份证号
String cardNo = "372834199809239813";
System.out.println(cardNo.replaceAll("(\\d{4})\\d{10}(\\w{4})", "$1****$2"));
输出结果: 3728****9813
$1,$2表示正则表达式中第一个括号和第二个括号的内容,****匹配中间的内容