如何使用regex和Notepad ++删除所有非ASCII字符?

Tex*_*exh 136 regex expression notepad++ non-ascii-characters

我搜索了很多,但没有写到如何从Notepad ++中删除非ASCII字符.

我需要知道在查找和替换中写入什么命令(图片会很棒).

  • 如果我想制作一个白名单并为所有ASCII字/行添加书签,那么非ASCII行将被取消标记

  • 如果文件非常大并且无法选择所有ASCII行,只想选择包含非ASCII字符的行...

Pro*_*oGM 242

此表达式将搜索非ASCII值:

[^\x00-\x7F]+
Run Code Online (Sandbox Code Playgroud)

勾选"搜索模式=正则表达式",然后单击Find Next.

来源:正则表达式任何ASCII字符

  • 效果很好,但我不得不设置`编码 - > ANSI编码.否则找不到任何东西. (6认同)
  • 并且万一它不明显,如果你删除"^"你正在搜索ASCII行 (4认同)
  • 如果你想保留\ r和\n - 回车符和换行符 - 你可以使用这个正则表达式:[\ x00-\x09\x0B-\x0C\x0E-\x1F] + (4认同)
  • 那很整齐.你每天都在学习新东西. (3认同)

小智 47

在Notepad ++中,如果转到菜单搜索查找范围中的字符非ASCII字符(128-255),则可以逐步浏览文档到每个非ASCII字符.

  • 这很好用,但是不会在列表中显示所有结果,也没有“替换”选项 (2认同)
  • 整洁...因为我总是忘记非 ASCII 的正则表达式,并且每次都必须 Google 一下才能返回此页面:) (2认同)

bru*_*rey 24

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

[\x00-\x1F]+
Run Code Online (Sandbox Code Playgroud)

要删除所有非ASCII和ASCII控制字符,您应删除与此正则表达式匹配的所有字符:

[^\x1F-\x7F]+
Run Code Online (Sandbox Code Playgroud)

  • 注意:这也会删除换行符:/ (4认同)
  • 它们与您想要保留的值相匹配。我只是建议这样做,以防您想摆脱它们。 (2认同)

Jea*_* T. 19

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

删除非ASCII

要突出显示字符,我建议在搜索窗口中使用标记功能:这会突出显示非ASCII字符并将书签放在包含其中一个字符的行中

Highligh非ASCII

如果要突出显示并在ASCII字符上添加书签,可以使用正则表达式[\x00-\x7F]来执行此操作.

干杯

  • 如果你想保留 \r 和 \n - 回车和换行符 - 你可以使用这个正则表达式: [\x00-\x09\x0B-\x0C\x0E-\x1F]+ (4认同)
  • 如果要复制粘贴搜索表达式 [^\x00-\x7F]+ (3认同)