2013-03-18 66 views
1


的最後一部分,我希望得到引薦URL的最後一部分。獲取這些信息的最佳方式是怎樣的?

獲取引用網址

String referrer = request.getHeader("referer"); 

目前,這是我如何得到引薦網址。這給了我整個URL,但我只想要一部分URL。


例如:請求的URL:http://localhost:8080/TEST/ABC.html
如果是這樣的引薦URL,我只希望ABC.html

謝謝你的幫助,請讓我知道如果有任何誤解了我的問題。

+0

的字符串轉換到一個URL對象,然後使用getter方法解析出你想要的部分。 – 2013-03-18 18:10:31

回答

5

這會給你XYZ.html:

String url = "http://localhost:8080/TEST/XYZ.html"; 
url = url.substring(url.lastIndexOf("/") + 1, url.length()); 
+0

謝謝,這給了我想找的東西! – AustinT 2013-03-18 18:17:42

+0

@奧斯汀·特朗你爲什麼不接受這個答案? – VishalDevgire 2013-03-18 18:19:33

+0

@VishalD我認爲OP應該[接受](http://meta.stackexchange.com/a/65088/155831)第一個[最佳答案](http://stackoverflow.com/a/15483907/418556)。 – 2013-03-18 18:37:31

0

這是基本的字符串操作,對待它像任何其他字符串。您可以使用String.indexOf/String.lastIndexOfString.substring,或者您可以使用String.split,或者您可以使用StringTokenizer,或者你可以使用正則表達式(最靈活的選項,但需要學習正則表達式)。

1

使用java.net.URL.getFile()

String path = new URL(request.getHeader("referer")).getPath(); 
int sep = path.lastIndexOf('/'); 
return (sep < 0) ? path : path.substring(sep + 1); 
+0

這將返回TEST/ABC.html。不要以爲這就是OP想要的。 – jontejj 2014-12-07 00:21:38

0

剛剛得到的子最後/ occurence後。