So entfernen Sie Zeilenumbrüche aus Text
Fügen Sie den Text in das Text Toolkit ein. Wenn Sie einen fortlaufenden Block wünschen, schalten Sie „Suchen und Ersetzen“ in den Regex-Modus um, suchen Sie „\s*\n\s*“ und ersetzen Sie es durch ein einzelnes Leerzeichen.
Wenn Sie die Absatzumbrüche beibehalten möchten, verwenden Sie zuerst „Zeilen zuschneiden“, suchen Sie dann nach (?<!\n)\n(?!\n) und ersetzen Sie es durch ein Leerzeichen. Dieses Muster passt zu einem Zeilenumbruch, der auf beiden Seiten keinen Zeilenumbruch hat – also einen Zeilenumbruch in der Mitte des Absatzes – und lässt die doppelten Zeilenumbrüche zwischen den Absätzen in Ruhe.
Warum Text mit harten Zeilenumbrüchen ankommt
Das Kopieren aus einem PDF ist die übliche Quelle. Eine PDF-Datei hat keine Absätze – der Text ist auf einer Seite positioniert – daher fügt die Kopie überall dort, wo eine visuelle Zeile endet, eine neue Zeile ein. Ein Absatz, der sechs Zeilen auf der Seite einnimmt, wird als sechs Textzeilen angezeigt.
Eine weitere häufige Quelle sind Klartext-E-Mails. Ältere E-Mail-Clients haben ausgehende Nachrichten mit 72 oder 76 Zeichen fest umbrochen, und zitierte Antworten bewahren diese Pausen auf unbestimmte Zeit.
Das Unterscheidungsmerkmal besteht darin, dass die Pausen in der Mitte des Satzes, etwa in derselben Spalte, und nicht am Satzende erfolgen. Das macht sie mechanisch entfernbar: Echte Absatzumbrüche werden durch eine Leerzeile getrennt, Umbrüche in der Mitte des Absatzes jedoch nicht. Alles Folgende beruht auf diesem Unterschied.
Die Absätze beibehalten: die Ein-Muster-Methode
Das Muster lautet: eine neue Zeile, der weder eine neue Zeile vorangeht noch eine neue folgt. Ein Umbruch in der Mitte des Absatzes passt; Jeder Zeilenumbruch in einem Doppelumbruch hat einen Zeilenumbruch auf einer Seite, daher stimmt keiner überein.
Wenn das Tool das Muster mit einem Fehler ablehnt, unterstützt Ihr Browser Lookbehind nicht. Verwenden Sie in diesem Fall die einfachere \s*\n\s*-Ersetzung, um alles zu verbinden, und führen Sie die Absatzumbrüche in allem, wo Sie den Text einfügen, wieder ein.
- Drücken Sie auf Linien trimmen. Dadurch werden führende und nachgestellte Leerzeichen aus jeder Zeile entfernt, sodass ein Absatztrennzeichen zu genau zwei Zeilenumbrüchen wird und nicht zu einem Zeilenumbruch, einem Leerzeichen und einem weiteren Zeilenumbruch.
- Aktivieren Sie Regex.
- Suchen Sie (?<!\n)\n(?!\n) und ersetzen Sie es durch ein einzelnes Leerzeichen. Klicken Sie auf „Alle ersetzen“.
- Überprüfen Sie die Zählung. Sie sollte in etwa der Anzahl der umgebrochenen Zeilen entsprechen und etwa um die Anzahl der Absätze kleiner sein als die Gesamtzeilenzahl.
Alles zu einem Block zusammenfügen
Für ein Zitat, eine Suchanfrage oder alles, was in ein einzelnes Feld geht, müssen Sie die Absätze überhaupt nicht schützen.
Regex-Modus: Suchen Sie nach \s*\n\s* und ersetzen Sie es durch ein einzelnes Leerzeichen. Das \s* auf beiden Seiten absorbiert die Einrückung und die nachgestellten Leerzeichen gleichzeitig, sodass Sie anschließend keine separate Bereinigung der doppelten Leerzeichen benötigen.
Windows-Zeilenenden und andere Dinge, die schief gehen
- Wenn eine Ersetzung auf \n Null meldet oder vereinzelte Zeichen zurücklässt, weist der Text Windows-Zeilenenden auf. Suchen Sie \r und ersetzen Sie es zunächst durch nichts. das konvertiert CRLF in LF und die oben genannten Muster verhalten sich dann.
- Über mehrere Zeilen verteilte Wörter mit Bindestrich – „inter-“, dann „national“ – werden nach der Verbindung zu „international“. Suchen Sie „-“ und ersetzen Sie es durch nichts, aber lesen Sie zuerst die Zählung, da dieses Muster auch mit legitimen Bindestrichen in Prosa übereinstimmt.
- Doppelte Leerzeichen können überleben, wenn eine Zeile mit einem Leerzeichen endet und Sie das Lookbehind-Muster verwendet haben. Suchen Sie zwei Leerzeichen, ersetzen Sie sie durch eines und führen Sie es zweimal aus.
- Text ohne Leerzeilen zwischen den Absätzen hat kein zu schützendes Signal. Kein Muster kann eine Absatzgrenze wiederherstellen, die nie codiert wurde, und Sie müssen diese manuell neu einfügen.
Zwei Dinge zum Regex-Modus dieses Tools
Muster werden innerhalb eines Guards zusammengestellt. Bei einem ungültigen Muster erhalten Sie eine Fehlermeldung und Ihr Text bleibt genau so, wie er war – eine einzelne offene Klammer ist ein normaler Zwischenzustand beim Tippen und sollte Ihre Arbeit nicht zerstören.
Muster werden mit dem globalen Flag und ohne die Flags „multiline“ oder „dotall“ kompiliert. Ein Ersatz gilt daher immer und überall; der Punkt stimmt nicht mit einer neuen Zeile überein; und ^ und $ verankern sich auf den gesamten Text und nicht auf jede Zeile. Um zeilenweise zu agieren, passen Sie die neue Zeile explizit an, was bei den obigen Mustern der Fall ist.
Die Felder „Suchen“ und „Ersetzen“ sind einzeilige Eingaben. Sie können einen Zeilenumbruch mit „\n“ verknüpfen, aber nicht mit „Einfügen“ – ein in das Ersetzungsfeld eingegebenes „\n“ wird als Backslash gefolgt von einem „n“ eingefügt. Aus diesem Grund muss die obige Methode niemals eine neue Zeile zurücksetzen.
Ausgearbeitetes Beispiel: zwei aus einem PDF kopierte Absätze
Der eingefügte Text hat nach jeder gedruckten Zeile einen harten Umbruch und zwischen den beiden Absätzen eine Leerzeile. Mit / für einen Zeilenumbruch sieht es so aus:
„Der Ausschuss traf sich am Dienstag, um den im März eingereichten Vorschlag zu prüfen. Mehrere Mitglieder äußerten Bedenken hinsichtlich des Zeitplans. Eine überarbeitete Fassung wird vor der nächsten Sitzung verteilt.“
Insgesamt gibt es fünf Zeilenumbrüche: vier Umbrüche und ein Absatzumbruch, geschrieben als zwei aufeinanderfolgende Zeilenumbrüche. Vier der fünf sollten gehen.
- Drücken Sie auf Linien trimmen.
- Aktivieren Sie Regex, suchen Sie (?<!\n)\n(?!\n), ersetzen Sie es durch ein Leerzeichen und ersetzen Sie alle.
- Lesen Sie die gemeldete Zählung.
Ergebnis: Das Tool meldet 3 Ersetzungen – die drei Umbrüche in der Mitte des Absatzes – und das Ergebnis sind zwei Absätze, jeweils in einer fortlaufenden Zeile, immer noch durch eine Leerzeile getrennt. Die Verwendung von \s*\n\s* hätte stattdessen 4 gemeldet und beide Absätze zu einem zusammengeführt, was die richtige Antwort für ein Zitat und hier die falsche ist.
Öffnen Sie das Tool
Bereinigen Sie Text im Text Toolkit
Suchen und Ersetzen von Literalen und regulären Ausdrücken mit einem Rückgängig-Verlauf und einer Ersetzungsanzahl nach jedem Schritt. Nichts, was Sie einfügen, wird irgendwohin gesendet.
Was dies nicht abdeckt
- Dabei handelt es sich um Suchen und Ersetzen, nicht um Umfließen. Es kann einen Umbruch in der Mitte eines Satzes nicht von einer absichtlich kurzen Zeile wie einem Adressblock, einem Vers oder einer Liste mit Aufzählungszeichen unterscheiden.
- Das Ersetzungsfeld kann keine neue Zeile einfügen, daher muss jede Technik, die Zeilenumbrüche zurücksetzen muss, an einer anderen Stelle enden.
- Das Lookbehind-Muster benötigt einen Browser, der Lookbehind-Assertionen unterstützt. Ein älterer Browser meldet einen Fehler aufgrund eines ungültigen Musters, anstatt stillschweigend auszufallen.
- Die Verarbeitung läuft im Hauptthread, daher kann es bei einem sehr großen Dokument während einer Transformation zu einer kurzen Unterbrechung der Schnittstelle kommen.
- Das Rückgängigmachen ist auf die letzten 50 Vorgänge beschränkt.
- Zwischen den Besuchen wird nichts gespeichert. Durch das Neuladen der Seite wird Ihre Arbeit absichtlich verworfen.