如何在android中提取IP地址的前三个段

时间:2015-02-13 15:13:02

标签: java android regex ip

示例:

xxx.xxx.xxx.xxx是一种IP地址格式,我想只得到前三个段(带点):xxx.xxx.xxx。

另一个例子:

192.168.0.160,我只想要192.168.0。

4 个答案:

答案 0 :(得分:4)

String[] splittedArray = ipAddressString.split("\\.");
String firstThreeSegments = splittedArray [0] + "." + splittedArray [1] + "." + splittedArray [2] + ".";

答案 1 :(得分:4)

String partialIp = ipAddress.substring(0, ipAddress.lastIndexOf(".")+1);

答案 2 :(得分:3)

您可以使用String#replaceFirst

String firstThree = ip.replaceFirst("\\d+$", "");

这将替换任何有效的IP地址的最后一部分,并将其替换为空字符串。

RegEx Demo

答案 3 :(得分:0)

我想说最简单的方法(IMO)将使用(来自Apache Commons)StringUtils.ordinalIndexOf() 来查找第三个句点的索引值,然后使用substring()从0获取子字符串到那个指数值。

例如:

StringUtils.ordinalIndexOf("192.168.0.160", ".", 3)  == 9

然后您可以使用此索引获取子字符串。