1

我想删除所有 { } 如下:

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

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

java.util.regex.PatternSyntaxException: Syntax error U_REGEX_RULE_SYNTAX

我做错了什么?

4

3 回答 3

3

你需要逃脱{

String regex = getData.replaceAll("\\{", "").replaceAll("\\}", "");
于 2013-06-04T09:57:15.823 回答
0

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

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

String regex = getData.replaceAll("\\{|\\}", "");
于 2013-06-04T10:02:27.480 回答
0

对于您想要做的事情,您不需要使用正则表达式

您可以使用该replace方法来匹配特定的字符,这会增加一点可读性

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

逃避\\{只是为了能够使用replaceAll作品,但在你的情况下没有意义

于 2014-03-04T22:41:17.053 回答