PatternSyntaxException:String.replaceAll()android

时间:2013-06-04 09:55:13

标签: android replace

我想删除所有{},如下所示:

String regex = getData.replaceAll("{", "").replaceAll("}", "");

但强制​​关闭我的应用程序日志。

java.util.regex.PatternSyntaxException: Syntax error U_REGEX_RULE_SYNTAX

我做错了什么?

3 个答案:

答案 0 :(得分:3)

您需要转义{

String regex = getData.replaceAll("\\{", "").replaceAll("\\}", "");

答案 1 :(得分:0)

使用圆括号来指定正则表达式中的重复,因此您必须将它们转义。

此外,您还应该考虑一次性删除所有括号,而不是两次调用replaceAll(String,String)。

String regex = getData.replaceAll("\\{|\\}", "");

答案 2 :(得分:0)

您想要做什么您不需要使用正则表达式

您可以使用replace方法来匹配特定的字符,提高了可读性

String regex = getData.replace("{", "").replace("}", "");

转义\\{只是为了能够使用replaceAll有效,但在您的情况下没有意义