2012-05-23 40 views
3

從URL中移除JSESSIONID我需要從給定的URL刪除JSESSIONID .The jessionid是不是在查詢部分 例如我有一個像正則表達式使用Java

http://example.com/index.do;jsessionid=XXXXXXXXXXXXXXX?username=example 
+2

你嘗試過什麼?你是新來的正則表達式? – keyser

+0

是的,我跟着這個問題http://stackoverflow.com/questions/163360/regular-expresion-to-match-urls-java – Ramesh

+0

該線程是矯枉過正爲您的目的。 – keyser

回答

8

URL試試這個:

url = url.replaceAll(";jsessionid=[^?]*", ""); 

這將工作中的網址是否有任何參數,例如,它會爲這兩種工作:

  • http://example.com/index.do;jsessionid=XXXXXXXXXXXXXXX
  • http://example.com/index.do;jsessionid=XXXXXXXXXXXXXXX?username=example

它採用一個正則表達式「向前看」捕獲直到(但不包括)任一輸入的?或結束。

+0

也許就像一個簡單的版本 「; JSESSIONID = [0-9A-ZA-Z] *」 應該是夠了嗎? –

+0

@ morellet.d實際上它可以更簡單:'URL = url.replaceAll( 「JSESSIONID =?^] *」, 「」);' – Bohemian