Entfernen von "NUL" -Zeichen

94

Ich habe solche Zeichen in meinem Editor ++

npp Screenshot von NULs

Wenn ich versuche, eine ganze Zeile zu kopieren, kopiere ich tatsächlich alles bis "NUL":

File:1

Was ich tun möchte, ist, diese Nullen zu ersetzen, um nichts zu sein, damit ich meine ganze Zeile kopieren kann. Vielleicht gibt es ein Schlüsselwort, das Notepad ++ (oder ein anderes Programm, das helfen könnte) anweist, diese Zeichen zu ersetzen? Wenn ich es auswähle, benutze Rechtsklick und dann "Löschen", es ist weg - aber ich möchte es nicht eins nach dem anderen tun.

Es ist mir egal, die Ursache dieses Problems zu beseitigen, nur die Wirkung (NULs)

user2618929
quelle

Antworten:

105

Dies könnte helfen. Früher habe ich meine Dateien wie folgt erstellt : http://security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

Grundsätzlich müssen Sie \ x00 Zeichen durch reguläre Ausdrücke ersetzen

Aleksandr Shumilov
quelle
Ja, das habe ich gesucht. Vielen Dank :)
user2618929
7
Bitte beachten Sie, dass Sie "\ x00", "\ 00" oder "\ 0" versuchen sollten. Bei mir haben \ x00 und \ 00 nicht funktioniert. Ich musste \ 0 für das Ersetzungszeichen verwenden.
John August
1
@ JohnAugust vielen Dank dafür. \ x00 fand immer wieder 'normale' Leerzeichen sowie die NUL-Zeichen.
Steffen Winkler
Thx wollte eine .dmp-Datei nach einem mehrzeiligen Text durchsuchen. Leider stürzte der Notizblock für mich wahrscheinlich aufgrund der Größe der Müllkippe ab
Mellester
38

Klicken Sie auf Suchen -> Ersetzen -> Suchen nach: \ 0 Ersetzen durch: "leer" Suchmodus: Erweitert -> Alle ersetzen

user4247816
quelle
Wofür ist das verlängert?
Rimalonfire
@rimiro wurde in dem Sinne erweitert, dass speziell maskierte Zeichen (grundlegende Metazeichen für reguläre Ausdrücke wie \ n usw.) nicht nur mit den eingegebenen Zeichen verglichen werden können.
Twobob
9

Ich hatte das gleiche Problem. Das Obige hat mich auf den richtigen Weg gebracht, war aber in meinem Fall nicht ganz richtig. Was funktionierte, war eng miteinander verbunden:

  • Öffnen Sie Ihre Datei in Notepad ++
  • Geben Sie Control-A ein (alle auswählen)
  • Typ Control-H (ersetzen)
  • Geben Sie unter "Suchen nach" ein \x00
  • Lassen Sie in 'Ersetzen durch' BLANK
  • Im 'Suchmodus' Ausgewählt 'Erweitert'
  • Klicken Sie dann auf "Alle ersetzen".
user914945
quelle
5

Versuchen Sie Suchen und Ersetzen. Geben Sie \ x00 in Suche Textfeld, überprüfen Sie die Option Regulärer Ausdruck. Lassen Sie das Textfeld Ersetzen leer und klicken Sie auf Alle ersetzen. Tastenkürzel zum Suchen und Ersetzen ist Strg + H.

Müller
quelle
6
finde mit \ x00. Möglicherweise müssen Sie die Option Regulärer Ausdruck aktivieren.
Miller
Sie müssen einen regulären Ausdruck verwenden, diese Antwort ist falsch, da Sie offensichtlich einfach so über ein spezielles
Zeichen hinaus
Ich gab die Antwort gemäß der Frage von SO, er fragt auf Notepad ++, nicht auf Notepad. Ich weiß nicht, warum Leute über meine Antwort abstimmen und andere Leute die Antwort von AlexShumilov ablehnen.
Miller
2

Ich habe versucht, \ x00 zu verwenden, aber es hat bei C # und Regex nicht funktioniert. Ich hatte Erfolg mit Folgendem:

//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(), "");  
Lee Harris
quelle
Was hat das mit Notepad ++ zu tun?
ChrisWue
2

Öffnen Sie den Editor ++
Wählen Sie Ersetzen (Strg / H).
Suchen Sie nach: \ x00
Ersetzen durch:
Klicken Sie auf das Optionsfeld Regulärer Ausdruck
Klicken Sie auf Alle ersetzen

slopfunkdust
quelle
-1

Markieren Sie ein einzelnes Nullzeichen und gehen Sie zu Ersetzen. In der Regel wird der markierte Text automatisch in das Suchfeld eingefügt. Geben Sie ein Leerzeichen in das Ersetzungsfeld ein oder lassen Sie es leer.

Gavin
quelle
8
Dies funktioniert nicht mit dem NUL-Zeichen in Notepad ++. Es funktioniert mit vielen anderen ASCII-Sonderzeichen wie BEL, aber NUL kann nur mit Extended Escape Codes oder RegEx gefunden werden.
Ayelis