【发布时间】:2020-09-18 16:13:43
【问题描述】:
我想在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;
}
【问题讨论】:
-
您可以使用 URL.getDefaultPort()。见this answer第二部分。
-
@VGR:您的评论应该是被接受和赞成的答案。