我想知道是否有办法用'\ n'替换所有CRLF实例。有没有办法实现这个目标?
答案 0 :(得分:24)
你尝试过什么不起作用? CRLF表示carriage return,line 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')
似乎现在一切正常。