0

如何使用 java 中的子字符串从 url 字符串中获取 ip 地址/地址。

http://abc.com:8080/abc/abc?abc=abc

我想从上面的 url 显示输出 abc.com。我怎样才能从网址中提取这个。

以下是我的代码,我已检索到,但这是一个好方法吗?

String a = servlet.substring(servlet.indexOf(":")+1);
String b = a.substring(2,a.indexOf(":"));
System.out.println(a);
System.out.println(b);
String c = servlet.replace(b, "192.168.0.1");
System.out.println(c);
4

2 回答 2

6

使用URL类:

URL url = new URL("http://abc.com:8080/abc/abc?abc=abc");
System.out.println(url.getHost());
于 2013-06-13T13:00:02.917 回答
4

为什么不使用现有的URL类并调用getHost()

获取此 URL 的主机名(如果适用)。主机的格式符合 RFC 2732,即对于文字 IPv6 地址,此方法将返回括在方括号('[' 和 ']')中的 IPv6 地址。

请注意其他有用的方法(getPort()等)。值得使用这些现有的实用程序类,而不是推出您自己的解决方案。它看起来是一个简单的解决方案,但现有的实用程序将满足所有边缘情况。

于 2013-06-13T12:59:53.960 回答