java - 分割字符串以截断 IP 地址的最后一个八位字节

标签 java

我想解析 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/

相关文章:

java - Hibernate 5.4.4 中的 StandardQueryCache 替代方案是什么

java+json : how to get an element from a json object that contains an array of objects {[ {}, {}]}

java - "Cannot be resolved or is not a field please"为什么?

java - 无法将 servlet 添加到 Tomcat web.xml

java - OpenGL 顶点数组缓冲区

java - 多列结构 Java

java - 在 JNA 中使用 TCHAR 缓冲区

在 neo4j 中使用大量数据的 Java 堆空间错误

java - 搜索栏过滤 ListView 项目

java - 可用的 JSF MVC 组件