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

k2arahey  于 2023-05-23  发布在  其他
关注(0)|答案(9)|浏览(194)

我搜索了很多,但没有地方写如何从Notepad++中删除非ASCII字符。
我需要知道什么命令写在查找和替换(与图片,这将是伟大的)。

  • 如果我想创建一个白名单,并将所有ASCII单词/行添加为书签,以便不标记非ASCII行
  • 如果文件很大,无法选择所有ASCII行,只想选择包含非ASCII字符的行...
hlswsv35

hlswsv351#

此表达式将搜索非ASCII值:

[^\x00-\x7F]+

勾选“搜索模式=正则表达式”,然后单击“查找下一个”。
来源:Regex any ASCII character

ht4b089n

ht4b089n2#

在Notepad++中,如果转到菜单 * 搜索 * → * 查找范围内的字符 * → * 非ASCII字符(128-255)*,则可以在文档中单步执行每个非ASCII字符。
如果要在文档中循环所有非ASCII字符,请确保勾选“Wrap around”。

当你按下查找键时,它会选择该字符。然后转到编辑菜单并选择替换,“查找”框将填充当前选择的内容,这将是您找到的字符。
然后,您可以在普通对话框中执行查找/替换的其余部分。

csga3l58

csga3l583#

除了ProGM给出的答案之外,如果您在NUL或ACK等框中看到字符并想要删除它们,这些是ASCII控制字符(0到31),您可以使用以下表达式找到它们并删除它们:

[\x00-\x1F]+

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

[^\x1F-\x7F]+
svmlkihl

svmlkihl4#

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

为了突出显示字符,我建议在搜索窗口中使用标记功能:这将突出显示非ASCII字符,并在包含其中一个字符的行中放置书签
如果您想突出显示并在ASCII字符上放置书签,可以使用正则表达式[\x00-\x7F]来实现。

干杯

kq0g1dla

kq0g1dla5#

要保留新行,请执行以下操作:
1.首先为新行选择一个字符...我用了#。
1.选择替换选项,扩展。
1.输入\n替换为#
1.点击全部替换
下一篇:
1.选择“替换”选项“正则表达式”。
1.输入以下内容:[^\x20-\x7E]+
1.保留替换为空
1.点击全部替换
现在,选择“替换选项扩展”并将#替换为\n
:)现在,你有一个干净的ASCII文件;)

vs3odd8k

vs3odd8k6#

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

omhiaaxx

omhiaaxx7#

另一种方法...
1.如果你还没有文本特效插件,请安装它
1.转到TextFX菜单选项->将所有不可打印的字符转换为#。它将用3#符号替换所有无效的字符
1.转到查找/替换并查找###。将其替换为空格。
如果你不记得正则表达式或者不想查找它,这是很好的。但是其他人提到的正则表达式也是一个很好的解决方案。

oogrdqng

oogrdqng8#

单击查看/显示符号/显示所有字符-显示文件中的[SOH]字符单击文件中的[SOH]符号CTRL=H调出替换将“查找内容:”保留原样将“替换为:”更改为您选择的字符(逗号,分号,其他...)单击“全部替换”完成!

j7dteeu8

j7dteeu89#

除了Steffen Winkler:

[\x00-\x08\x0B-\x0C\x0E-\x1F]+

忽略\r \nAND \t(回车、换行符、tab

相关问题