从java字符串中删除“$ {anything}”
问题描述:
我想从字符串中删除$ {anything}或$ {somethingelse},但是我找不到正则表达式。
我的实际代码
String url = http://test.com/index.jsp?profil=all&value=${value}
String regex = "\\$\\{*\\}";
url = url .replaceAll(regex, ""); // expect http://test.com/index.jsp?profil=all&value=
//but it is http://test.com/index.jsp?profil=all&value=${value}
我敢肯定,解决的办法是愚蠢的,但没有办法找到。
答
试试这个:
"\\$\\{.*?\\}"
的.*?
后跟}
最短的字符串相匹配。
答
您删除任意数量的{
的,因为你的{*
代替.*
应该\\$\\{.*\\}
,确实让大括号之间的任何东西,你想这是唯一的阿尔法或者其他的东西?
,这将是\\$\\{[a-zA-Z]*\\}
答
另一种解决方案将是\\$\\{[^\\}]*\\}
(任何字符不同于})
它的工作原理!谢谢 ! – Antoine 2010-10-01 16:21:34
@Antoine Meausoone然后标记答案为接受(在投票柜台下面打勾) – Bozho 2010-10-01 16:25:12
是的,我不得不等待15分钟,thx又保存了我的周末:) – Antoine 2010-10-01 16:30:07