0

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

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

都不起作用,有没有办法做到这一点?我不能使用简单.replace("line", "par"),因为有些单词之间有分隔线但没有“\”。我只需要在行之前有“\”时进行更改

4

2 回答 2

4

字符串是不可变的

line = line.replace("\\line", "\\par");
于 2013-09-25T21:18:54.127 回答
2

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

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

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

于 2013-09-25T21:15:09.677 回答