以下是我的正则表达式: -
\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\\b
当请求网址为http://www.example.com/
类型时,我的缩短网址中不会替换最后一个字符,最后会附加/
。
正则表达式无法找到最后一个/
。
请帮忙解决这个问题。
答案 0 :(得分:1)
我认为/将是一个单词边界,所以如果添加一个,它可能会更好吗?到了,所以它写着:
\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\\b?
答案 1 :(得分:1)
怎么样:
if(url.endsWith("/"))
url = url.substring(0,url.length()-1);
或者如果您需要使用正则表达式,您可以执行以下操作:
url = url.replaceAll("(\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*)/(\\b?)","$1$2");
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用:
url = url.replaceAll("\/+$","");