如何使用replace更改文本文件中的特殊字符“\”

时间:2013-09-25 21:14:22

标签: java

我需要在一个大的.rtf中改变一些东西。我在另一个文件中正确地执行了另一个文本更改,但在文本中有类似“\ line”的内容。我想将其更改为“\ par”

我知道'\'是特殊字符,我不能使用简单的.replace("\line", "\par")。我尝试了.replace("\\line", "\\par")

两者都没有用,有没有办法做到这一点?我不能使用简单的.replace("line", "par"),因为有些单词之间有一行但没有“\”。我只需要在行之前有一个“\”之前改变

2 个答案:

答案 0 :(得分:4)

字符串不可变

line = line.replace("\\line", "\\par");

答案 1 :(得分:2)

您需要将正则表达式中的\转义为\\。但是,每个这些都需要在字符串中进行转义。你需要一个完整的正则表达式:

replaceAll("\\\\line", "\\\\par");

在编译器解析期间,4个反斜杠在字符串中变为2个\个字符,而\\由正则表达式引擎解析为单个文字反斜杠。