Java 如何将ip字符串xxx.xxx.xxx.xxx:xxxxx转换为xxx.xxx.xxx.xxx?

Java 如何将ip字符串xxx.xxx.xxx.xxx:xxxxx转换为xxx.xxx.xxx.xxx?,java,ip,Java,Ip,我正在从我的服务器上获取以下IP: "/177.127.101.68:53964" "/201.80.15.100:54263" "/177.67.38.54:51309" 我需要它就像“177.127.101.68”,我要删除最后5个字符串,但有时会出现“/186.213.186.40:4625”,所以我不知道该怎么做。。。有什么方法可以做到这一点吗?使用String类的split()和substring()方法作为一种方法: String ip = "/177.127.101.68:539

我正在从我的服务器上获取以下IP:

"/177.127.101.68:53964"
"/201.80.15.100:54263"
"/177.67.38.54:51309"
我需要它就像“177.127.101.68”,我要删除最后5个字符串,但有时会出现“/186.213.186.40:4625”,所以我不知道该怎么做。。。有什么方法可以做到这一点吗?

使用
String
类的
split()
substring()
方法作为一种方法:

String ip = "/177.127.101.68:53964";
String whatYouWant = ip.split(":")[0].substring(1);

有关和,请参阅Javadocs。在我看来,您会发现自己经常使用它们。

您只需要
子字符串

String ip = "/177.127.101.68:53964";
String result = ip.substring(1, ip.indexOf(':')-1);

另一种可能是

String myIP = "/177.127.101.68:53964";
URL url = new URL("http:/" + myIP);// will create URL for http://177.127.101.68:53964
String host = url.getHost(); // will return only 177.127.101.68 part

搜索冒号并使用子字符串?请注意,对于IPv6地址,这将失败…了解
indexOf()
substring()
方法。在“:”之后的所有内容都是端口。如果没有“:”则“我将得到一个错误或什么都不会发生?如果没有“:”,结果数组的大小将为1(正好有一个元素,包含整行)。所以它仍然可以工作。@ThiagoSabin测试它(它应该可以正常工作)。此外,您的所有示例都包含
,因此,如果可能没有
,您应该在问题中提及这一点。Stack Overflow并不是回答者应该关注所有可能的角落案例的竞赛场地,所以尽可能多地提供重要信息对提问者来说是最有利的。