首页 文章

如何使用正则表达式和记事本删除所有非ASCII字符?

提问于
浏览
111

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

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

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

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

7 回答

  • 203

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

    [\x00-\x1F]+
    

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

    [^\x1F-\x7F]+
    
  • 4

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

    Removing non-ASCII

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

    Highligh non-ASCII

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

    干杯

  • 1

    此表达式将搜索非ASCII值:

    [^\x00-\x7F]+
    

    勾选'Search Mode = Regular expression',然后单击“查找下一个” .

    资料来源:Regex any ASCII character

  • 17

    在记事本中,如果转到菜单搜索→查找范围→非ASCII字符(128-255)中的字符,则可以将文档单步执行到每个非ASCII字符 .

  • 37

    保持新的界限:

    • 首先为新行选择一个字符......我用# .

    • 选择替换选项,扩展 .

    • 输入\ n替换为#

    • 点击全部替换

    下一个:

    • 选择替换选项正则表达式 .

    • 输入:[^\ x20- \ x7E]

    • 保持替换为空

    • 点击全部替换

    现在,选择Replace replace选项Extended和Replace#with \ n

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

  • 15

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

  • 2

    其他方式...

    • 如果您还没有安装Text FX插件,请安装它

    • 转到TextFX菜单选项 - >将所有不可打印的字符删除到# . 它将用3#符号替换所有无效字符

    • 转到查找/替换并查找### . 用空格替换它 .

    如果您不记得正则表达式或不关心查找它,这很好 . 但其他人提到的正则表达式也是一个很好的解决方案 .

相关问题