下面是我的正則表達式: -搜索和替換「/」的URL在Java中使用正則表達式的結束
\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\\b
時請求的URL是http://www.example.com/
類型的,最後一個字符是不是在我shortner取代結尾處附加url和/
。
的正則表達式是無法找到的最後一個/
。
請幫忙。
下面是我的正則表達式: -搜索和替換「/」的URL在Java中使用正則表達式的結束
\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\\b
時請求的URL是http://www.example.com/
類型的,最後一個字符是不是在我shortner取代結尾處附加url和/
。
的正則表達式是無法找到的最後一個/
。
請幫忙。
我認爲,/是一個單詞邊界,所以也許它工作得更好,如果你添加一個?在和,所以它讀取:
\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\\b?
這是行得通的。它取代了/最後。謝謝Edvin。 +1給你的答案。 – Sanket
怎麼樣:
if(url.endsWith("/"))
url = url.substring(0,url.length()-1);
,或者如果你需要使用正則表達式,你可以做這樣的事情:
url = url.replaceAll("(\\bhttps?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*)/(\\b?)","$1$2");
你可以簡單地使用:
url = url.replaceAll("\/+$","");
爲什麼不簡單使用''if(myString.endsWith(「/」))''? –
@vakimshaar,但我想註冊前,他們增加複雜性,使我便祕。 –
@Vakimshaar - 他們增加了工作安全。讓代碼如此複雜,只有你明白它的工作原理! –