我想从文件 lne 中逐行读取内容 String
,并在每一行中删除不属于以下 [ { } ]
之一的所有字符
我想用一个方法:
line = line.replaceAll("[^[({})]]","");
但问题是 char [
和 ]
在正则表达式语法中意味着其他东西。
怎么处理?
致以诚挚的问候
最佳答案
在 Java 中,正则表达式字符类可以具有并集和交集,因此,如果您希望将 [
和 ]
视为文字符号,则必须在内部对其进行转义。由于 \
可用于定义转义序列,因此应将其加倍以表示文字正则表达式转义 \
。
使用
line = line.replaceAll("[^\\[({})\\]]","");
^^ ^^
关于java - 在Java正则表达式中向字符类添加方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912455/