Leerzeichen-Entferner und Textreiniger
Räumen Sie wirres Text auf, indem Sie überflüssige Leerzeichen, Tabs und leere Zeilen entfernen.
So funktioniert es
- Fügen Sie Ihren Text in das Eingabefeld ein.
- Wählen Sie die gewünschten Reinigungsoptionen (standardmäßig alle aktiviert).
- Klicken Sie auf „Text aufräumen" zur Verarbeitung.
- Kopieren oder laden Sie das bereinigte Ergebnis herunter.
Häufige Fragen
Was zählt als Leerraum?
Leerzeichen, Tabs, geschützte Leerzeichen und andere Unicode-Leerraumzeichen. Zeilenumbrüche werden separat über die Optionen „Leere Zeilen" und „Zeilenumbrüche reduzieren" behandelt.
Verändert dieses Tool meinen tatsächlichen Inhalt?
Nein. Es entfernt oder reduziert nur Leerraumzeichen. Ihre Wörter, Satzzeichen und sonstigen Inhalte bleiben unangetastet.
Kann ich das für Code nutzen?
Ja, aber mit Vorsicht · das Entfernen führender Leerzeichen aus Code zerstört die Einrückung. Nutzen Sie die einzelnen Kontrollkästchen, um genau zu steuern, was bereinigt wird.
Was „Whitespace“ eigentlich bedeutet
Ein Whitespace-Zeichen ist eines, das beim Rendern von Text leeren Raum statt eines sichtbaren Glyphs erzeugt, verwendet, um Wörter zu trennen, Zeilen einzurücken und Absätze zu umbrechen. Die Unicode Character Database weist die formale Eigenschaft White_Space genau 25 Codepunkten zu. Die bekannten Verdächtigen (Leerzeichen, Tabulator, Zeilenvorschub, Wagenrücklauf) decken das meiste ab, was Sie je einfügen werden, aber die vollständige Liste umfasst auch das geschützte Leerzeichen (U+00A0), das schmale geschützte Leerzeichen (U+202F), 11 typografische Leerzeichen im Bereich U+2000-U+200A, die Zeilen- und Absatztrenner (U+2028, U+2029), das mittlere mathematische Leerzeichen (U+205F) und das vollbreite ideografische Leerzeichen (U+3000), das nach CJK-Interpunktion verwendet wird.
Eine separate Gruppe sieht unsichtbar aus, wird von Unicode aber nicht als Whitespace klassifiziert: die Bytereihenfolge-Markierung (U+FEFF), das Nullbreiten-Leerzeichen (U+200B), der Nullbreiten-Verbinder und -Nichtverbinder (U+200D, U+200C), der Wortverbinder (U+2060) und der weiche Trennstrich (U+00AD). Das sind Formatierungssteuerzeichen, keine Leerzeichen, die meisten Berichte vom Typ „Ich habe meinen Text bereinigt, aber irgendetwas stimmt noch nicht“ lassen sich auf eines davon zurückführen.
Was dieses Werkzeug tut, Option für Option
- Führende/abschließende Leerzeichen pro Zeile entfernen: entfernt Whitespace am Anfang und Ende jeder einzelnen Zeile. Nützlich, um eingerückte Zitate aus E-Mails zu bereinigen oder rechtsseitige Auffüllung, die versehentlich beim Kopieren und Einfügen hinzugefügt wurde.
- Mehrere Leerzeichen zu einem zusammenfassen: Folgen von zwei oder mehr Leerzeichen werden zu einem einzigen Leerzeichen. Behandelt die Schreibmaschinengewohnheit, nach einem Punkt zwei Leerzeichen zu setzen (wovon die meisten modernen Stilrichtlinien (Chicago, AP) abraten).
- Leerzeilen entfernen: verwirft jede Zeile, die leer ist oder nur Whitespace enthält. Häufig nötig nach dem Einfügen von Text aus PDFs.
- Tabulatoren in Leerzeichen umwandeln: ersetzt jeden
\tdurch Leerzeichen. Seien Sie in Code vorsichtig: Python und YAML reagieren empfindlich auf Whitespace, und Makefiles erfordern in Rezeptzeilen tatsächlich eine Tabulator-Einrückung. - Gesamten Text am Anfang/Ende trimmen: entfernt führenden und abschließenden Whitespace aus dem gesamten String auf einmal (das Äquivalent zu JavaScripts
trim()). - Mehrere Zeilenumbrüche zu einem zusammenfassen: Folgen aufeinanderfolgender Zeilenumbruchzeichen werden zu einem einzigen Zeilenumbruch. Nützlich, wenn „Leerzeilen entfernen“ zu aggressiv ist und Sie eine einzelne Leerzeile für Absatzumbrüche behalten möchten.
Alle sechs Optionen sind unabhängige Schalter (deaktivieren Sie alle, die Sie überspringen möchten), und jede läuft nur über den Text, den Sie einfügen. Es wird nichts hochgeladen; die Bereinigung erfolgt in Ihrem Browser über JavaScript-Regex-Durchläufe.
Wann Sie dazu greifen
- PDFs und Word-Dokumente. PDFs fügen harte Zeilenumbrüche am visuellen Ende jeder Zeile ein und bewahren mitunter die Silbentrennung; eingefügter Word-Text hat oft geschützte Leerzeichen zwischen Zahlen und Einheiten (10 km), um französische Interpunktion herum oder nach Anreden wie Mr. Smith.
- Benutzereingaben normalisieren. Abschließende Leerzeichen in einem „Name“- oder E-Mail-Feld führen dazu, dass
"Smith"und"Smith "als ungleich verglichen werden. Sie bei der Eingabe (oder vor der Suche) zu entfernen, beseitigt eine ganze Klasse von „Benutzer nicht gefunden“-Fehlern. - CSV- und TSV-Vorbereitung. Feldwerte mit führenden oder abschließenden Leerzeichen ruinieren nachgelagerte Parser, die exakt übereinstimmende Schlüssel erwarten. Excels UTF-8-CSV-Export stellt stillschweigend eine Bytereihenfolge-Markierung voran, die ein nachgelagerter Parser, der den BOM nicht entfernt, als Teil der ersten Spaltenüberschrift sieht, was zu einem seltsam aussehenden
colnameführt. - Markdown- und Blog-Entwürfe. Mehrere aufeinanderfolgende Leerzeilen werden in Markdown als einzelner Block dargestellt, blähen aber Quelldateien auf und machen Diffs unübersichtlich.
- E-Mail-Signaturen, Chat-Protokolle und Bezeichner: schnelle Bereinigung, bevor Sie sie in ein anderes Dokument einfügen, oder bevor Sie einen Promo-Code oder Lizenzschlüssel an eine API übermitteln, die streng mit Whitespace umgeht.
Häufige Fallstricke
- Das Entfernen von führendem Whitespace beschädigt Code. Python und YAML verwenden Einrückung als Syntax. Entfernen Sie sie, und die Datei sieht für das Auge identisch aus, lässt sich aber nicht parsen.
- Tabulatorumwandlung beschädigt Makefiles. GNU make verweigert die Ausführung, wenn Rezeptzeilen mit Leerzeichen statt Tabulatoren eingerückt sind. Dieselbe Vorsicht gilt für die gofmt-Ausgabe von Go.
- NBSP sieht identisch zu einem Leerzeichen aus. Ein Nutzer sieht oft ein einzelnes „Leerzeichen“ zwischen zwei Wörtern und nimmt an, dass jeder Bereiniger es erfasst. JavaScripts
\s-Regex erkennt in modernen Browsern das geschützte Leerzeichen, aber wenn Sie Ihren eigenen Regex in einer anderen Sprache (oder einer sehr alten Umgebung) schreiben, müssen Sie NBSP möglicherweise explizit auflisten. - Abschließender Whitespace in Markdown ist bedeutsam. Zwei abschließende Leerzeichen am Ende einer Markdown-Zeile erzeugen einen
<br>-Zeilenumbruch. Das Trimmen des abschließenden Whitespace pro Zeile entfernt diese Zeilenumbrüche; wenn Sie auf sie angewiesen sind, lassen Sie die Option aus. - Windows-Zeilenenden. Aus einer Windows-Quelle kopierte Dateien verwenden CRLF (
\r\n). Die Durchläufe „Leerzeilen entfernen“ und „Zeilenumbrüche zusammenfassen“ müssen CR erkennen; andernfalls kann ein verirrtes\ram Ende jeder Zeile überleben. - Nullbreiten-Zeichen überleben eine Whitespace-Entfernung. ZWSP (U+200B), ZWJ (U+200D), ZWNJ (U+200C), Wortverbinder (U+2060) und weicher Trennstrich (U+00AD) sind kein Unicode-Whitespace, sodass ein generischer Whitespace-Bereiniger sie nicht berührt. Wenn sich Ihr Text nach der Bereinigung merkwürdig anfühlt, fügen Sie ihn in einen Hex-Viewer oder einen separaten Inspektor für „unsichtbare Zeichen“ ein.
- Verhältnis zwischen Eingabe und Ausgabe. Die Bereinigung ist innerhalb dieser Seite unumkehrbar, sobald Sie kopieren oder schließen, es gibt keinen Rückgängig-Verlauf. Bewahren Sie das Original irgendwo auf, falls Sie es noch benötigen.
Kurzer technischer Kontext
Dieses Werkzeug läuft vollständig in Ihrem Browser mit der eingebauten Regex-Engine von JavaScript. String.prototype.trim() in modernen Engines (jeder Evergreen-Browser seit etwa 2015) entfernt sowohl das geschützte Leerzeichen als auch die Bytereihenfolge-Markierung, weil die ECMAScript-Spezifikation ihre Trim-Menge als die Vereinigung der WhiteSpace- und LineTerminator-Produktionen definiert, eine Liste, die Tabulatoren, das einfache Leerzeichen, NBSP, BOM, die typografischen Leerzeichen und CR- / LF- / LS- / PS-Zeilenumbrüche umfasst. Sie schließt nur ein einziges Unicode-Whitespace-Zeichen aus, U+0085 (NEL), das eine von EBCDIC geerbte Kuriosität ist und in modernem Text fast nie vorkommt.
Bei sehr großen Eingaben ist der langsame Teil selten der Regex-Durchlauf, sondern das Zurückschreiben des Ergebnisses in das Textfeld und das erneute Rendern des DOM. Eingaben bis zu einigen Megabyte sind auf einem modernen Laptop typischerweise in Ordnung; darüber hinaus sind Kommandozeilenwerkzeuge (tr, sed, awk oder ein kurzes Python-Skript) meist schneller.
Weitere Fragen
Was ist der Unterschied zwischen einem normalen Leerzeichen und einem geschützten Leerzeichen?
Sie werden mit derselben Breite dargestellt, aber das geschützte Leerzeichen (NBSP, U+00A0) weist den Renderer an, an dieser Stelle keine Zeile umzubrechen. Word, Google Docs und viele CMS fügen es zwischen Anreden und Nachnamen (Mr. Smith), zwischen Zahlen und Einheiten (10 km) oder um Währungssymbole herum ($ 5) ein. Es ist das mit Abstand häufigste „seltsame“ Zeichen, das man in eingefügtem Text findet, und es ist der Grund, warum die gleich aussehende Lücke zwischen zwei Wörtern manchmal einem Regex widersteht, der für einfache Leerzeichen geschrieben wurde.
Entfernt das Werkzeug Nullbreiten-Zeichen oder die Bytereihenfolge-Markierung?
Die Whitespace-Behandlung von JavaScript erfasst im Allgemeinen die Bytereihenfolge-Markierung (U+FEFF). Sie erfasst nicht das Nullbreiten-Leerzeichen (U+200B), den Nullbreiten-Verbinder (U+200D), den Nullbreiten-Nichtverbinder (U+200C), den Wortverbinder (U+2060) oder den weichen Trennstrich (U+00AD), Unicode klassifiziert diese nicht als Whitespace, sodass sie einen Whitespace-Durchlauf bauartbedingt überleben. Wenn Sie vermuten, dass eines davon in Ihrem Text ist, benötigen Sie stattdessen einen Inspektor für unsichtbare Zeichen.
Warum sind Leerzeilen und aufeinanderfolgende Zeilenumbrüche zwei separate Optionen?
„Leerzeilen entfernen“ löscht jede leere Zeile, das Ergebnis ist ein durchgehender Textblock ohne Absatzumbrüche. „Mehrere Zeilenumbrüche zu einem zusammenfassen“ behält einen einzelnen Zeilenumbruch zwischen Absätzen und entfernt nur die überzähligen. Wenn Sie lesbare Absätze in der Ausgabe möchten, lassen Sie die erste Option aus und verwenden Sie die zweite.
Gibt es eine Längenbegrenzung?
Es gibt keine harte Grenze, das Werkzeug bewältigt auf einem modernen Laptop bequem Text im Bereich von Zehntausenden bis zu einigen Millionen Zeichen. Die Grenze ist die Textfeld-Leistung Ihres Browsers: sehr große Einfügungen beginnen beim Tippen oder Kopieren zu ruckeln, nicht beim Bereinigungsschritt selbst.
Werden Daten an einen Server gesendet?
Nein. Der Text verlässt niemals Ihren Browser. Die Bereinigung läuft lokal in JavaScript, das Ergebnis wird in ein Textfeld auf derselben Seite zurückgeschrieben, und Sie können die Seite offline nutzen, sobald sie geladen ist. Dasselbe gilt für jedes Werkzeug auf Absolutool.