在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;
}
# 1 楼答案
可以将replaceFirst(或replaceAll)与正则表达式一起使用
# 2 楼答案
不要使用字符串操作来处理URL。Java有这样的类