我想解析一个IP地址并摆脱最后一个八位位组,但是我不知道在Java的String split方法中要使用哪个正则表达式。
用户输入示例: 10.120.10.3
所需的输出: 10.120.10
我在想这样的事情,但需要一种方法来找到并在第三个点后分开:
String[] truncated_IP = user_IP.split("\\.");
truncated_IP[0]
应该包含我在寻找什么。
不要使用split()
,请使用lastIndexOf()
:
input.substring(0, input.lastIndexOf('.'))
使用您的示例:
String input = "10.120.10.3";
System.out.println(input.substring(0, input.lastIndexOf('.')));
10.120.10
如果您真的想使用split()
,可以使用regex完成\.(?=[^.]+$)
:
input.split("\\.(?=[^.]+$)")[0]
同样,使用您的示例:
String input = "10.120.10.3";
System.out.println(input.split("\\.(?=[^.]+$)")[0]);
10.120.10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句