当它们全部不同时,如何在Notepad ++中大量替换#条注释?

时间:2018-12-17 00:28:06

标签: regex notepad++

我不是特别懂计算机的人。

我有一个“主机”文件,用于阻止计算机上的网站。

我遇到的问题是,我在网上找到了第二个好的主机文件,其中包含许多我想添加到主机列表中的网站,其中有些似乎已经被阻止,而有些则没有。我想将我的主机文件与刚刚找到的主机文件合并,但是现在我有成千上万个添加了自己注释的站点,例如:

127.0.0.1 bypasser.us           # proxy site (added 13/11/18)
127.0.0.1 cnclub.za.net         # proxy site (added 15/11/18)
127.0.0.1 downuptime.net        # proxy site (added 16/11/18)
127.0.0.1 f.spoolls.com         # proxy site (added 17/11/18)

您明白了...

为了合并两个主机文件并删除重复的文件,我首先需要从自己的主机列表中删除注释。

是否有某种方法可以使用notepad ++删除URL和#注释后的空格\制表符(它们并不完全相同,许多都完全不同,必须经历和一张一张地删除每个类似的音符)?

我认为我所追求的是某种通配符表达。我曾尝试在这里查看其他解决方案,但发现它们很难理解。

2 个答案:

答案 0 :(得分:2)

打开文件后,这是Notepad ++中的分步演练:

  1. Ctrl + h 打开“替换”对话框。
  2. Alt + g 将模式更改为“正则表达式”。
  3. Alt + f 选择“查找内容”文本区域。
  4. 键入或粘贴\s*#.*$
  5. Alt + l ,然后按 Del Backspace ,以确保“替换为”字段为空如果还没有的话。
  6. Alt + a 以“全部替换”。

NP ++ v7.5.9的输出为(每个URL末尾没有空格):

127.0.0.1 bypasser.us
127.0.0.1 cnclub.za.net
127.0.0.1 downuptime.net
127.0.0.1 f.spoolls.com

正则表达式匹配:

\s*     zero or more spaces
   #    literal # character
    .*  zero or more of any character
      $ end of line

并将其替换为空字符串。

答案 1 :(得分:1)

另一种尝试插件ConyEdit的方法。从下面选择以下命令之一来执行此操作。

  1. cc.dac 2v
  2. cc.gbc 2b
  3. cc.gbc 1:#cc.trim
  4. cc.rc 1/\s*#.*$/ ''