如何删除 Sublime Text 3 中的 <0x00> 字符?

Kam*_*fel 6 replace sublimetext3

问题

所以我有这个包含<0x00>字符的大文本文件(见下图)。

Sublime Text 3 with <0x00> 包括替换选项

如上图所示,我尝试使用正则表达式删除这些字符\x00。除此之外,我还tryed \0,并\00没有成功。

但是,当我尝试在 Sublime Text 中替换这些字符时,弹出窗口显示<0x00>确实已找到这些字符(见下图),到目前为止一切顺利。

发现的事件

不幸的是,当我单击“替换”按钮时,字符没有被替换。

我怎样才能摆脱这些<0x00>字符?

ps 重要的是要提到我不能对“0”进行搜索,因为这个文本文件包含零,我想保留它。

进度更新 #1

我设法将 <0x00> 字符复制到“查找”搜索框中(见下图)。

但是,即使我尝试用文本文件中的空字符替换此字符,也不会发生任何更改。

进度更新 1

进度更新 #2(解决方案)

没有@00 的帮助,我找不到这个问题的答案,谢谢!

解释

该文件以 UTF-16 编码,但我认为它是 UTF-8。该文件是在BOM UTF-8中打开的,这正是我无法删除<0x00>Sublime Text 3 中的(NUL) 字符的原因。

解决方案

在“bash”或“终端”中执行以下命令:

sed -i 's/\x0//g' [textfile_name].txt

an *_*wig 8

好的,我自己试过了,似乎正则表达式会起作用。确保您有正则表达式选项选择(在图像中突出显示)并使用以下正则表达式\0

升华

现在只需确保替换文件中没有任何内容并点击全部替换。NUL 字符应该消失了。

笔记

在阅读周围,似乎你拥有的每其它字符后NUL这可能表明该文件实际上是UTF-16(如果是这样的话,你希望删除),并需要重新加载这样. 如果切换到 UTF-16 并且我的上述解决方案不起作用,则线程可能对您有用。