java 将证件号中间部分替换成*数据脱敏怎么实现
时间: 2024-05-10 08:20:38 浏览: 143
java 日志的数据脱敏的实现方法
可以使用正则表达式和字符串替换来实现证件号中间部分的脱敏。
以下是一个基本的示例代码:
```
public static String maskIdNumber(String idNumber) {
String regex = "(?<=\\w{3})\\w(?=\\w{4})"; // 匹配证件号中间部分
String replacement = "*"; // 替换为*
return idNumber.replaceAll(regex, replacement);
}
// 示例用法
String idNumber = "123456199001012345";
String maskedIdNumber = maskIdNumber(idNumber);
System.out.println(maskedIdNumber); // 输出:123****0123
```
上述代码中的正则表达式 `(?<=\w{3})\w(?=\w{4})` 匹配了证件号中间部分,其中 `(?<=\w{3})` 表示匹配前面有三个字符的位置,`\w` 表示匹配任意一个字符,`(?=\w{4})` 表示匹配后面有四个字符的位置。这样,就可以只替换证件号中间部分中的字符,而不影响前三位和后四位。
替换操作使用了 String 类的 replaceAll() 方法,将匹配到的字符替换为 *。
阅读全文