删除“ NUL”字符


94

我的记事本中有这样的字符++

NUL的npp屏幕截图

当我尝试复制整行时,实际上是在复制所有内容,直到“ NUL”为止:

File:1

我想做的是替换那些空值,什么都没有,所以我可以复制整行。也许有任何关键字可以告诉notepad ++(或其他可能有帮助的程序)替换这些字符?当我选择它时,请使用“右键单击”,然后“清除”它消失了-但我不想一个接一个地做。

我不在乎消除此问题的原因,而只是消除影响(NUL)

Answers:


105

这可能会有所帮助,我以前将文件设置为: http //security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

基本上,您需要用正则表达式替换\ x00字符


是的,那就是我想要的。非常感谢:)
user2618929 2013年

7
请注意,您应该尝试使用“ \ x00”,“ \ 00”或“ \ 0”。对我来说,\ x00和\ 00无效。我需要使用\ 0作为替换字符。
约翰,

1
@JohnAugust非常感谢您。\ x00继续查找“正常”空格以及NUL字符。
Steffen Winkler

Thx想在.dmp文件中搜索大量的多行文本。然而,不幸的是,记事本可能由于转储的大小而崩溃了
Mellester

38

单击搜索->替换->查找内容:\ 0替换为:“空”搜索模式:扩展->全部替换


扩展了什么?
rimalonfire

@rimiro在某种意义上得到了扩展,即可以将特殊转义的字符(基本的正则表达式元字符,如\ n等)与之匹配,而不仅仅是键入的字符。
twobob

9

我有同样的问题。以上情况使我走上了正确的道路,但就我而言,这并不完全正确。所做的工作密切相关:

  • 在记事本++中打开文件
  • 键入Control-A(全选)
  • Type Control-H(替换)
  • 在“查找内容”中 \x00
  • 在“替换为”中离开空白
  • 在“搜索模式”中选择“扩展”
  • 然后点击“全部替换”

5

尝试查找并替换。在“查找”文本框中键入\ x00,选中“正则表达式”选项。将“替换”文本框留为空白,然后单击“全部替换”。查找和替换的快捷键是ctrl + H。


6
用\ x00查找。您可能需要检查正则表达式选项。
米勒(Miller)

您必须使用正则表达式,这是错误的答案,因为显然您可以像这样复制一个特殊的字符
mahieddine

我是按照SO的问题给出答案的,他是在notepad ++而不是notepad上提问。我不解释为什么人们不赞成我的答案,而其他人却赞成AlexShumilov的答案。
米勒

2

我尝试使用\ x00,但在使用C#和Regex时对我不起作用。我在以下方面取得了成功:

//The hexidecimal 0x0 is the null character  
mystring.Contains(Convert.ToChar(0x0).ToString() );  

// This will replace the character
mystring = mystring.Replace(Convert.ToChar(0x0).ToString(), "");  

这与Notepad ++有什么关系?
ChrisWue

2

打开记事本++
选择“替换”(Ctrl / H)
查找内容:\ x00
替换为:
单击单选按钮正则表达式
单击“全部替换”


-1

突出显示一个空字符,转到查找替换-它通常自动将突出显示的文本插入到查找框中。在替换框中输入一个空格或将其留空。


8
这不适用于Notepad ++中的NUL字符。它可以与许多其他ASCII特殊字符(例如BEL)一起使用,但只能使用扩展转义码或RegEx来找到NUL。
Ayelis,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.