我尝试了扩展搜索 --> 替换为\0
,但似乎不起作用。相反,它会删除所有出现的该字符。这可能是一个错误吗?
注意:在扩展搜索中可以用\n
、\r\n
等进行替换。
我正在使用 Notepad++ 6.4.1 Unicode。
答案1
尝试\d###
(其中#是0-9范围内的单个数字)。
看扩展模式支持转义序列了解更多信息。
编辑:看起来 \d、\u、\x 等在用字符替换时无法正常工作NUL
。搜索工作正常(我使用十六进制编辑器插入了几个NUL
s),但替换却不行,只是删除了字符。
答案2
据我所知,Notepad++ 在插入 0 字符时总是存在问题。Notepad
++ 也不例外:大多数编辑器都无法正确处理它。
这并不奇怪。处理 0 字符是一个非常小众的应用程序。
据我所知,唯一可以像处理其他字符一样处理 0 的 Windows 编辑器是 UltraEdit。
(它还具有十六进制编辑模式,因此无论如何您都可以使用它完成工作。)
答案3
互联网上的搜索结果显示,插入空值在 Notepad++ 中并不简单,例如参见如何在记事本中插入空字符(ASCII 00)?
用以下方式替换给定的字符/字符空值是通过十六进制编辑器插件†。
- 进入十六进制模式(通过插件 → HEX 编辑器 → 以 HEX 格式查看,或Ctrl+ Alt+ Shift+ H)
- 突出显示要替换的字符。
- 您可以在“Dump”列或“0 | 1 | ... | f”列中突出显示它。
- Ctrl+H调出替换菜单。
- 将“数据类型”更改为“十六进制”。
- 您突出显示的字符将显示在“查找内容”下(作为十六进制字符串)
- 在“替换为”字段中输入“00”(即空字节)
- 按“替换”或“全部替换”。
免责声明:我从某处听说 Hex Editor 插件有缺陷,但我过去只是偶尔使用过它(它运行正常,但你的情况可能会有所不同)所以我真的不知道它的缺陷程度。
† 您可以通过 Notepad++ 的插件管理器(插件 → 插件管理器 → 显示插件管理器)安装它,但您可能需要在插件管理器的“设置”下选中“显示不稳定插件”才能显示该插件
答案4
报告错误这里- 请在那里发表评论,希望它能得到修复 - 对我来说这看起来像是一个可能的麻烦。
参考 :