用Java中的转义版本替换特定字符

时间:2014-11-06 18:48:52

标签: java regex string

我有一个很大的字符串,有很多这样的事件:

List<String>

我需要将该字符串转换为匹配

List\<String\>

我假设我会使用Java replaceAll(“”,“”)方法,但我不能让它工作,因为我不熟悉正则表达式。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

您需要四个反斜杠字符,例如:

String input = "List<String>";
input = input.replaceAll("<", "\\\\<").replaceAll(">", "\\\\>");

"\\\\<"是用于指定\\<

的字符串文字

但为什么在替换字符串中需要2 \?由于替换字符串本身也具有转义语法(以转义$,用于指定捕获组中的内容)。 \<(或字符串文字"\\<")被替换方法解释为<。所以我们需要在替换字符串级别转义\字符。