java代码 给一段字符串中 包含ip地址的部分 进行脱敏
时间: 2023-02-16 22:09:44 浏览: 115
以下是一段用于在Java中脱敏包含IP地址的字符串的代码示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "IP地址是192.168.1.1";
String pattern = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})";
String replacement = "***.***.***.***";
// 创建 Pattern 对象
Pattern r = Pattern.compile(pattern);
// 现在创建 matcher 对象
Matcher m = r.matcher(input);
String output = m.replaceAll(replacement);
System.out.println(output);
}
}
```
运行后的输出为:
```
IP地址是***.***.***.***
```
注意,上面的代码只能匹配格式为xxx.xxx.xxx.xxx的ip地址,如果需要匹配更多格式的ip地址可以使用正则表达式来更改pattern的值.
相关问题
java代码 给一段字符串中 包含ip地址的部分 进行脱敏,ip地址保留最后一部分
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MaskIP {
public static void main(String[] args) {
String str = "这是一段包含IP地址的字符串,IP地址是192.168.1.100";
String mask = maskIP(str);
System.out.println(mask);
}
public static String maskIP(String str) {
String regEx = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.)(\\d{1,3})";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String matched = matcher.group();
String masked = matcher.group(1) + "***";
matcher.appendReplacement(sb, masked);
}
matcher.appendTail(sb);
return sb.toString();
}
}
```
这段代码首先使用正则表达式匹配字符串中的IP地址,然后使用字符串缓冲区将匹配到的IP地址替换为保留最后一部分的脱敏版本。运行结果为 "这是一段包含IP地址的字符串,IP地址是192.168.1.***"
java代码 给一段字符串中包含多处ip地址的信息 进行脱敏,ip地址保留最后三部分
下面是一段可以在java代码中实现字符串中多处IP地址脱敏的代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MaskIp {
public static void main(String[] args) {
String input = "This is a string with IP address 192.168.1.1 and another IP address 10.0.0.1";
// 定义正则表达式模式
String pattern = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.)\\d{1,3}";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
// 替换匹配到的IP地址
String masked = m.replaceAll("$1***");
System.out.println(masked);
}
}
```
输出结果为:
"This is a string with IP address 192.168.1.*** and another IP address 10.0.0.***"
该代码使用正则表达式匹配字符串中的IP地址,并使用replaceAll()方法将其中最后一段替换为***。