从 JAVA 中的字符串(从 url 类型更改)中删除尾部斜杠

2022-08-31 22:40:42

我想从Java中的字符串中删除尾部斜杠。

我想检查字符串是否以URL结尾,如果确实如此,我想删除它。

这是我所拥有的:

String s = "http://almaden.ibm.com/";

s= s.replaceAll("/","");

和这个:

String s = "http://almaden.ibm.com/";
length  =  s.length();
--length;
Char buff = s.charAt((length);
if(buff == '/')
{
     LOGGER.info("ends with trailing slash");
/*how to remove?*/
}
else  LOGGER.info("Doesnt end with trailing slash");

但这两者都不起作用。


答案 1

有两个选项:使用模式匹配(稍慢):

s = s.replaceAll("/$", "");

艺术

s = s.replaceAll("/\\z", "");

并使用 if 语句(稍快一些):

if (s.endsWith("/")) {
    s = s.substring(0, s.length() - 1);
}

或者(有点丑):

s = s.substring(0, s.length() - (s.endsWith("/") ? 1 : 0));

请注意,您需要使用 ,因为字符串是不可变的。s = s...


答案 2

这应该更好:

url.replaceFirst("/*$", "")