我正在編寫應該從文本塊中刪除實際換行符的代碼,並將其替換爲字符串「\ n」。然後,當字符串在另一次讀取時,它應該替換換行符(換句話說,搜索所有「\ n」並插入\n
。但是,雖然第一次轉換工作正常,但它沒有做後者。彷彿第二取而代之的是無爲爲什麼爲什麼刪除它們後重新插入換行符無效?
的更換:?
theString.replaceAll(Constants.LINE_BREAK, Constants.LINE_BREAK_DB_REPLACEMENT);
重新代替:
theString.replaceAll(Constants.LINE_BREAK_DB_REPLACEMENT, Constants.LINE_BREAK);
常量:
public static final String LINE_BREAK = "\n";
public static final String LINE_BREAK_DB_REPLACEMENT = "\\\\n";
也許這應該是「\\ N」的; –
你實際上是用\\ n來代替換行符,但是如果你使用相同的常量來代替原來的代碼,這應該沒有什麼區別。 – jalynn2
值得注意的是,即使您修復了當前問題,轉換也是有損的:如果原始字符串包含反斜槓字符後跟字母'n',則將其轉換爲換行符將會將其轉換爲換行符。 – NPE