如何解决从Java中的URL删除端口号
我想用Java编写一个函数,如果它是默认端口,它将删除该端口。
所以如果给
String url80 = "http://www.somewhere.com:80/someplace";
它将返回
String urlNo80 = "http://www.somewhere.com/someplace";
如果有
String url443 = "https://www.somewhere.com:443/someplace";
它将返回
String urlNo443 = "https://www.somewhere.com/someplace";
有没有比这更好的方法
public String removePortIfDefault(String inUrl) {
String returnUrl = inUrl;
if (inUrl.contains("http://") && inUrl.contains(":80")) {
returnUrl = inUrl.replaceAll(":80","");
}
if (inUrl.contains("https://") && inUrl.contains(":443")) {
returnUrl = inUrl.replaceAll(":443","");
}
return returnUrl;
}
谢谢!
解决方法
您可以使用带有正则表达式的replaceFirst(或replaceAll)
String urlNo80 = url80.replaceFirst(":\\d+","");
,
不要使用字符串操作来处理URL。 Java为此提供了类。
['apple','pear']
" 2"
String url80 = "http://www.somewhere.com:80/someplace";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。