java - 如何使用Java的replaceAll(regex,replacement)方法替换字符串中的所有方括号

标签 java regex

我正在学习java,我想替换所有[] and {}有一个空格使用java RegExp .

我尝试过的,

final String data = "{a:b,c:d,e:[f,g,h]}";
System.out.println(data.replaceAll("[{}[]]", " ")); 

但是我得到了java.util.regex.PatternSyntaxException: Unclosed character class near index 5 [{}[]]. ^

我认为java认为]在第 5 个位置作为 RegExp 的终点。

那么我怎样才能逃脱方括号并替换所有 []{}有一个空格 .

最佳答案

您必须转义 [](字符类)中存在的 [, ]

System.out.println(data.replaceAll("[{}\\[\\]]", " "));

关于java - 如何使用Java的replaceAll(regex,replacement)方法替换字符串中的所有方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792983/

相关文章:

java - 当按下 Enter 键时,如何确定选择了 JTable 的哪一部分?

java - NamedParameterJdbcTemplate 不替换值?

javascript - 要解析为 JSON 的数组条目

python - 正则表达式结果

python - 提取带有空格后跟字符串或行尾的文本

php - 匹配数字但排除方括号内的数字

C++11 regex::icase 不一致行为

java - 如何实现 "extends Application"?

java - 读取fragment中的文件并将其放入listview中

java - Jsp中如何设置输入框的值