我想编写java程序来屏蔽输入字符串中的ip地址
例如输入字符串是" AAA192.168.110。* BBBB10。*"
条件:将IP地址替换为' X'字符
我想输出为 AAAXXXXXXXXXXXXXBBBXXXX
我试图解析字符串以替换IP地址,但我无法映射' *'作为正则表达式。
有人可以帮我编写reg-ex来替换字符串中的ip地址吗? 注意:要替换的字符数(' X')等于ip地址中的字符数
例如10. *由XXXX替换
可能还有其他数字和IP地址:
例如" AAAA1710.20 *" 。这里掩码的IP地址是" 10.20。*"。所以输出应该是 " AAAA17XXXXXXX"
所以它应该只对需要屏蔽的ip进行屏蔽。所以对于" AAA1710.20。*" ,它应该只删除" 10.20。*"
需要屏蔽的IP地址将作为输入与要解析的输入字符串一起提供。
对于上面的示例,要解析的IP地址为" 10.20。*"
以下代码并未提供所需的输出:
字符串输入=" AAAA99192.168.10。* CCCCCDDD10。*&#34 ;;
String m = input.replaceAll(" [192.168.10。*]"," X")。replace(" [10。*]&#34 ;, " Y&#34);
的System.out.println(米);
//输出为AAAAXXXXXXXXXXXXXXCCCCCDDDXXXX,不正确。它也取代了99也是不正确的。而且它应该取代10. *与'YYYY'这没有发生
答案 0 :(得分:1)
您可以使用以下代码屏蔽数字和点,
String s = "AAA2110.20.*BB192.128.*";
String m = s.replaceAll("10\\.20\\.\\*", "XXXXXXX").replaceAll("192\\.128\\.\\*", "YYYYYYYYY");
System.out.println(m);
输出:
AAA21XXXXXXXBBYYYYYYYYY
答案 1 :(得分:0)
您可以使用此正则表达式:
"([0-9]{1,3}\\.){3}[0-9]{1,3}"
找到IP地址。