2012-09-05 120 views
0

我想使用字符串替換另一種,它不會發生。字符串替換使用替換第一種方法

String requestURI = "/webapps-ab/public/Test.jsp" 
String contextName = "webapps-ab"; 
String newRequestURI = requestURI.replaceFirst(contextName,"webapps"); 

我期待newRequestURI"/webapps/public/Test.jsp"

回答

3

replace調用應該是:

String newRequestURI = requestURI.replaceFirst(contextName, "webapps"); 

使用:

String requestURI = "/webapps-ab/public/Test.jsp"; 
String contextName = "webapps-ab"; 
String newRequestURI = requestURI.replaceFirst(contextName, "webapps"); 
System.out.println("newRequestURI: " + newRequestURI); 

輸出將是你期待什麼:

newRequestURI: /webapps/public/Test.jsp 

ideone example

+0

對不起,這是錯字...我將編輯問題 – 1078081

+0

我嘗試了同一段代碼,但仍看到舊的請求URI。 '/'有什麼區別。 – 1078081

+0

@ 1078081您必須留下錯別字。查看ideone版本的鏈接,生成預期的輸出 – pb2q

0

當引用一個變量時,不要將它用引號括起來,因爲它會將它轉換爲字符串對象。

String newRequestURI = requestURI.replaceFirst(contextName, "webapps");