【问题标题】:Match (and delete) LF character in Notepad++ regex在 Notepad++ 正则表达式中匹配(并删除)LF 字符
【发布时间】:2013-09-20 18:50:42
【问题描述】:

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

【问题讨论】:

  • 您确定\n 不起作用吗?
  • @BoltClock 它匹配 CR 和 CR/LF 组合..

标签: regex notepad++


【解决方案1】:

LF 代表“换行”

您可以在this answer on serverfault.se 上阅读更多内容:

CR LF 的意思是“回车换行”——它是 DOS 遗留下来的 某些设备需要回车的旧时代,以及 某些设备需要换行才能获得新线路,因此 Microsoft 决定让一个新行同时包含两个字符,这样他们 将在所有设备上正确输出。

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

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

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

因此,您应该可以将其替换为 \n

【讨论】:

  • \n 匹配 LFCRLF
  • Notepad++中有答案吗?
  • @thomas 用我如何使用 \n 删除 LF 字符的一些图片更新了我的答案。
  • 并且忽略后台的正则表达式,这是我正在尝试的东西,它留在那里我不知道多久=P
  • 谢谢。我不知道为什么这对我不起作用。我什至不确定你是如何让 LF 自己排成一行的。
【解决方案2】:

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

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

你就完成了。

【讨论】:

  • 如何替换“LF”;这就是问题
  • 这似乎是正确的答案。问题是只替换 \n 并最终让 \r\n 保持原样。
【解决方案3】:

将编码设置为 ANSI。

那么 \n 将只看到“LF”

【讨论】:

  • 你确定吗?你在哪里看到的?
猜你喜欢
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 2012-01-14
  • 2016-03-31
相关资源
最近更新 更多