如何使用java中的substring从url字符串中获取ip地址/地址。
http://abc.com:8080/abc/abc?abc=abc
我想从上面的网址显示输出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);
答案 0 :(得分:6)
使用URL
类:
URL url = new URL("http://abc.com:8080/abc/abc?abc=abc");
System.out.println(url.getHost());
答案 1 :(得分:4)
为什么不使用现有的URL课程并致电getHost()
?
获取此URL的主机名(如果适用)。主机的格式 符合RFC 2732,即对于文字IPv6地址,这种方法 将返回括在方括号中的IPv6地址('['和 ']')。
注意其他有用的方法(getPort()
等)。值得使用这些现有的实用程序类,而不是使用自己的解决方案。它看起来很简单,但现有的实用程序将满足所有边缘情况。