Notepad ++,如何用正则expression式去除所有非ascii字符?

我search了很多,但没有写的地方如何从记事本+删除非ASCII字符?

我需要知道什么命令写在发现和replace(与图片将是伟大的)

  • 如果我想做一个白名单和书签所有的ASCII字/行,所以非ASCII行将被标记

  • 如果文件很大,不能select所有的ASCII行,只想select包含非ASCII字符的行。

这个expression式将search非ASCII值:

[^\x00-\x7F]+ 

勾选“search模式=正则expression式”,然后单击查找下一个。

来源:正则expression式任何ASCII字符

在Notepad ++中,如果你去:

search| 查找范围内的字符| 非ASCII字符(128-255)

然后你可以通过文件到每个非ASCII字符。

除了ProGM的回答之外,如果您看到NUL或ACK等字符框中的字符,并且希望摆脱它们,那么这些字符是ASCII控制字符(0到31),您可以使用以下expression式find它们并将其删除:

 [\x00-\x1F]+ 

为了删除所有非ascii和ascii控制字符,你应该删除所有匹配这个正则expression式的字符:

 [^\x1F-\x7F]+ 

要删除所有非ASCII字符,可以使用以下replace: [^\x00-\x7F]+

删除非ASCII

为了突出显示字符,我build议在search窗口中使用标记function:这将突出显示非ASCII字符,并在包含其中一行的行中放入书签

Highligh非ASCII

如果要突出显示并在ASCII字符上放置书签,则可以使用正则expression式[\x00-\x7F]来执行此操作。

干杯

保持新的行:

  1. 首先为新行select一个字符…我用#。
  2. selectreplace选项,扩展。
  3. input\ n用#
  4. 点击全部replace

下一个:

  1. selectreplace选项正则expression式。
  2. input这个:[^ \ x20- \ x7E] +
  3. 保持replace为空
  4. 点击全部replace

现在,selectreplace选项扩展并用\ nreplace#

:)现在,你有一个干净的ASCII文件;)

另一个好的诀窍是在你的编辑器中进入UTF8模式,这样你就可以真正看到这些有趣的angular色,并自己删除它们。

其他方式…

  1. 如果您尚未安装Text FX插件,请安装它
  2. 转到TextFX菜单选项 – >将所有不可打印的字符打到#。 它将用3#符号replace所有无效的字符
  3. 转到查找/replace并查找###。 用空格replace它。

如果你不记得这个正则expression式,或者不在乎查看它,这是很好的。 但是其他人提到的正则expression式也是一个很好的解决scheme。