2013-02-20 153 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。