2014-10-17 103 views
2

我正嘗試刪除URL中最後一個正斜槓後的所有內容。我寫了一些REGEX在online Java REGEX測試器中工作,但不幸的是我的本地代碼沒有。任何洞察,爲什麼這可能會不勝感激。現在我的REGEX模式,目標字符串和所需的輸出如下。替換最後一個正斜槓後的所有內容

Regular Expression: "[^/]*$" 
Target String: /example/c/coffee101 
Desired Output: /example/c/cafè999 

的裸機Java代碼:

target = "/example/c/coffee101"; 
replace = "cafè999"; 
target.replaceFirst("[^/]*$", replace); 

謝謝大大!

回答

2

你需要,因爲沒有方法StringreplaceFirst方法的返回值分配給target改變String對象本身:

target = target.replaceFirst("[^/]*$", replace); 
+1

我們中的一個必須下車了一夜的正則表達式標籤;)只是開玩笑,有我upvote(無論如何,我正在休假!)。 – Sam 2014-10-17 21:35:35

+0

哈哈:)真的,我也在幾分鐘內下線。 – anubhava 2014-10-17 21:36:11

+1

非常感謝。我很擔心REGEX本身,我忽略了實際的功能。 – user1615559 2014-10-17 21:38:58

0

它好像.replaceFirst()返回修改後的string..try:

target = target.replaceFirst("[^/]*$", replace); 

返回

通過替換字符串替換第一個匹配序列構成的字符串,代以捕獲子序列需要

+1

非常感謝。爲什麼REGEX可能是錯誤的,並忘記實際考慮函數本身,這太讓人抓狂了。 – user1615559 2014-10-17 21:39:27

相關問題