我需要在一个大的.rtf中改变一些东西。我在另一个文件中正确地执行了另一个文本更改,但在文本中有类似“\ line”的内容。我想将其更改为“\ par”
我知道'\'是特殊字符,我不能使用简单的.replace("\line", "\par")
。我尝试了.replace("\\line", "\\par")
。
两者都没有用,有没有办法做到这一点?我不能使用简单的.replace("line", "par")
,因为有些单词之间有一行但没有“\”。我只需要在行之前有一个“\”之前改变
答案 0 :(得分:4)
字符串不可变
line = line.replace("\\line", "\\par");
答案 1 :(得分:2)
您需要将正则表达式中的\
转义为\\
。但是,每个这些都需要在字符串中进行转义。你需要一个完整的正则表达式:
replaceAll("\\\\line", "\\\\par");
在编译器解析期间,4个反斜杠在字符串中变为2个\
个字符,而\\
由正则表达式引擎解析为单个文字反斜杠。