24

在 Notepadd++ 中,\r\n正则表达式会找到所有的CRLF组合。但我有一些以 s 结尾的行LF。首先,那是什么?接下来,我怎样才能匹配和删除呢?既不工作\r也不\n工作。

4

3 回答 3

30

LF 代表“换行”

您可以在 serverfault.se 上阅读有关此答案的更多信息:

CR LF 的意思是“回车,换行”——它是过去 DOS 遗留下来的东西,有些设备需要回车,有些设备需要换行才能换行,所以微软决定只做一个新的——行具有两个字符,以便它们可以在所有设备上正确输出。

Windows 程序期望它们的换行符格式为 CRLF ( \r\n)。*nix 只期望 LF 数据 ( \n)。如果您在 Windows 上的记事本中打开一个 Unix 文本文档,您会注意到所有换行符都消失了,整个文档都在一行上。那是因为记事本需要 CRLF 数据,而 Unix 文档没有该\r字符。

有些应用程序会在标准 *nix 发行版(dos2unix 和 unix2dos)上为您转换

对于那些想知道的人来说,回车和换行与打字机时代不同,当时回车和换行是两个不同的东西。一个会把你带到行的开头(回车),一个会把你往下移一排,但在相同的水平位置(换行)

因此,您应该能够将其替换为\n.

在此处输入图像描述

在此处输入图像描述

于 2013-09-20T19:02:04.750 回答
13

使用常识,我建议采用以下方法:

  1. 用一些特殊的字符串替换所有的 CRLF(你确定文件中不存在),比如“fuuuuuu !!!”。
  2. 用空字符串替换 LF。
  3. 用 CRLF 替换所有特殊字符串(“fuuuuuu !!!”)。

你完成了。

于 2013-10-23T10:14:28.170 回答
1

将编码设置为 ANSI。

然后 \n 将只看到“LF”

于 2017-09-18T18:10:43.363 回答