2013-09-25 77 views
0

我需要在一個大的.rtf文件中更改一些內容。我在另一個文件中改變了另一個文本,但是在文本中有這樣的「\ line」。我想把它改成「\ par」如何在替換文本文件中更改特殊字符「」

我知道'\'是特殊字符,我不能用簡單的.replace("\line", "\par")。我試過.replace("\\line", "\\par")

既沒有工作,有沒有辦法做到這一點?我不能使用簡單的.replace("line", "par"),因爲有些單詞之間沒有「\」。我只需要在線路有「\」之前更改

回答

2

您需要在正則表達式中跳過\作爲\\。然而,這些中的每一個都需要在字符串中轉義。你需要一個完整的regex:編譯器解析過程中

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

4反斜線變成2個\字符字符串中,並\\由正則表達式引擎解析爲一個文字反斜槓。

+1

'字符串#replace'不接受一個正則表達式 – BackSlash

+0

@BackSlash考慮到使用雙反斜線失敗我假設這個問題的嘗試另一套其失蹤。無論如何,應該使用'replaceAll'。 – hexafraction

+0

@BackSlash編輯來糾正'String#replaceAll',同時OP應該在適當的地方使用'repalceFirst'。 – hexafraction

4

字符串是不可改變

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

工作也很好,但它的奇怪我試過這個,使用\\,但沒有工作,謝謝 – user2582318

+0

沒問題,很高興幫助:) – Reimeus