String.Replace CRLF with'\ n'

时间:2012-02-22 18:42:03

标签: c# string newline

我想知道是否有办法用'\ n'替换所有CRLF实例。有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:24)

你尝试过什么不起作用? CRLF表示carriage returnline feed。回车符\r,换行符为\n,因此使用换行符替换CRLF

value = value.Replace("\r\n", "\n");

这就像任何其他字符串替换一样。重要的是要注意Replace是一个返回新字符串的方法,因此您需要将结果分配回某个变量,在大多数情况下,它可能与您已使用的变量名称相同。

编辑:根据您在下面的评论,您可能会根据Notepad ++的行尾转换设置将CRLF误认为LF。在hex editor中打开您的文件,看看到底是什么。您会看到CRLF为0D 0A(因此回车符为0D,换行符为0A)。 Notepad ++将显示您想要查看的内容。单击Edit > EOL Conversion > UNIX Format检查您的行结束转换,即使CRLF存在,也会显示LF而不是CRLF。

答案 1 :(得分:1)

如果你真的想用显式字符串“\ n”替换回车符/换行符对,你需要转义反斜杠:

value = value.Replace("\r\n", "\\n"); 

答案 2 :(得分:-1)

我认为看起来我一直试图以错误的方向取代。

String.Replace('\n', '\r') 

VS

String.Replace('\r', '\n')

似乎现在一切正常。