[英]java code to remove extra forward slash
我想在使用Java重复两次的String的末尾删除正斜杠。
这是我所拥有的:
String s = "http://almaden.ibm.com//";
length = s.length();
Char buff = s.charAt((length);
if(buff == '//')
{
}
else LOGGER.info("Doesnt end with trailing doubleslash");
请建议在显示URL时如何删除多余的正斜杠。谢谢。
如果您只想删除结尾的双斜杠( //
),则可以尝试使用类似的方法
if (s.endsWith("//")
{
s = s.substring(0, s.length()-2); // Remove the last 2 characters, i.e. the //
}
else
{
LOGGER.info("Doesnt end with trailing doubleslash");
}
String s = "http://almaden.ibm.com//somethingElse//index.php";
s=s.replaceAll("//","/").replaceFirst(":/", "://");
System.out.println(s);
输出:
http://almaden.ibm.com/somethingElse/site.html
说明:
s.replaceAll("//","/")
将//
所有出现替换为/
,然后
.replaceFirst(":/", "://")
在protocol:
字符串后重新创建双斜杠//
。
简单版本只会检查它是否以//
结尾,并且是否确实从末尾删除了一个字符
if(s.endsWith('//')) {
s = s.substring(s.length()-1);
}
如果它可以在字符串中的任何位置,则可以使用正则表达式
s = s.replaceAll("(//)(?<!(\\w+\\://))", "/");
使用仅在字符串末尾匹配双斜杠的正则表达式:
s = s.replaceAll("//$", "/");
美元表示“输入结束”。 其余的不言自明。
如果您想对此更加灵活,可以:
s = s.replaceAll("//*\\s*$", "/");
它可以处理任意数量的尾部斜杠,也可以修剪尾部空白。
"http://almaden.ibm.com//".replace(/\/\/$/,'/')
/\\/\\/$/
匹配字符串末尾的//
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.