使用什么正则表达式来删除接收数据中的转义字符。
例子:
dd.mm.yyyy -> dd.mm.yyyy
d-mm-yy -> d-mm-yyyy
m\d\yyyy -> mdyyyy
测试:
assertEquals("m\d\yyyy", removeEscapeChars("m\\d\\yyyy"));
assertEquals("dd-mm-yyyy", removeEscapeChars("dd\-mm\-yyyy"));
assertEquals("dd.mm.yyyy", removeEscapeChars("dd\.mm\.yyyy"));
看起来您想用 x
替换x
。为此,您可以使用
str = str.replaceAll("\\(.)", "$1");
-
"\\"
因为正则表达式表示由字符串文本中的"\"
创建的单个 -
.
可以表示任何字符(行分隔符除外,但根据您的示例,这应该不是问题( -
(.)
会将其放在"捕获组"中,该组将被索引为1
-
$1
替换公式中,允许我们使用组 1 的当前匹配(由.
匹配的字符,因此它将是用转义的字符(。