我想解析 IP 地址并删除最后一个八位字节,但我不知道在 Java 的字符串拆分方法中使用哪个正则表达式。
用户输入示例: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
If you really want to use split()
, it can be done using the regex \.(?=[^.]+$)
:
input.split("\\.(?=[^.]+$)")[0]
再次使用您的示例:
String input = "10.120.10.3";
System.out.println(input.split("\\.(?=[^.]+$)")[0]);
10.120.10
关于java - 分割字符串以截断 IP 地址的最后一个八位字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19123637/