java代码 给一段字符串中包含多处ip地址的信息 进行脱敏,ip地址脱敏的规则是只保留最后一部分真实内容 ip地址可能是ipv4或者ipv6
时间: 2023-02-16 21:09:43 浏览: 156
Java判断字符串是否为IP地址的方法
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IpDesensitization {
public static void main(String[] args) {
String s = "这是一段包含多处ip地址的字符串,192.168.1.1, 2001:0db8:85a3:0000:0000:8a2e:0370:7334";
String desensitized = desensitizeIp(s);
System.out.println(desensitized);
}
public static String desensitizeIp(String s) {
String ipv4Regex = "(\\d{1,3}\\.){3}\\d{1,3}";
String ipv6Regex = "[0-9a-fA-F:]{2,39}";
String replacement = "$1***";
return s.replaceAll(ipv4Regex, replacement).replaceAll(ipv6Regex, replacement);
}
}
```
上面是一段 Java 代码,用于脱敏包含多处 IP 地址的字符串。代码中定义了两个正则表达式,分别用于匹配 IPv4 和 IPv6 地址。在调用 `desensitizeIp` 方法时,会使用这两个正则表达式替换字符串中的 IP 地址。
阅读全文