2015-03-31 81 views
1

我有一个字符串str,我想剥离下列所有特殊字符{} - 使用Java.regex和replaceAll()。使用java.regex从字符串中剥离字符

我会做这样的:

str.replaceAll("[\\{\\}\\-]",""); 

,但它不会删除我的要求。为什么?

+1

如何你输入的字符串样子?请注意,字符串在Java中是不可变的,您需要将结果分配回另一个变量。 – 2015-03-31 17:25:46

+0

是的,你是对的! – Johan 2015-03-31 17:40:31

回答

2

String s在Java中是不可变的,这意味着str将不会通过调用replaceAll进行修改。您需要新的价值进行重新分配给字符串:

str = str.replaceAll("[\\{\\}\\-]",""); 

而且转义大括号不需要字符类中:

str = str.replaceAll("[{}-]",""); 
+1

更简单'str.replaceAll(“[{} - ]”,“”);' – 2015-03-31 17:43:36