2014-10-17 88 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

相关问题