2013-02-20 199 views
1

我看了整個文件轉換成字符串對象: -字符串替換換行符

string result = File.ReadAllText(@"C:\TestLog.log"); 

我想刪除所有換行符,「\ n」,但我也需要保存在字符串中的任何實例存在「\ r \ n」的對象。

我該怎麼做?

+0

C#在regexen中支持lookbehind。 '(?<!\ r)\ n'應該捕獲任何不是立即以'\ r'開始的'\ n'。 – 2013-02-20 15:12:05

回答

2

result = result.Replace("\n","").Replace("\r","\r\n")

雖然沒有使用正則表達式。不知道你是否打算使用它。

+0

如果文件包含自身的「\ r」,怎麼辦?你不是在改變文本? – Morvader 2013-02-20 15:18:43

+0

是的,但這不是問題中的要求。 – 2013-02-20 15:19:20

+0

當然,但我認爲不改變原文的內容是隱含的要求;) – Morvader 2013-02-20 15:21:09

4

它看起來像你想正則表達式替換。

string result = File.ReadAllText(@"C:\TestLog.log"); 
string newresult = Regex.Replace(result, @"[^\\r]\\n", ""); 

所以該模式尋找\ n之前沒有\ r。