
Ich schreibe einen Mini-Roman über meine Familiengeschichte und habe auf einem anderen PC daran gearbeitet.
Ich habe eine alte Version von UltraEdit als Textverarbeitungsprogramm verwendet. Aber sie war nicht sehr kompatibel mit Windows nach XP. Ich habe irgendwo einen Beitrag darüber gelesen, wie man sie unter Windows 7 zum Laufen bekommt, und sie hat eine Datenübertragung auf meinen Windows 10-Laptop überlebt. Dann stürzte sie eines Tages ab und ich konnte sie nicht reparieren. Viele meiner Freunde rieten mir also, Notepad++ auszuprobieren, da sie behaupteten, es sei besser als UltraEdit 13. Ich habe versucht, in Notepad++ daran zu arbeiten, aber die Formatierung war kaputt. Statt meiner Absätze, die alle in einer Zeile standen und automatisch am Bildschirmrand umbrochen wurden, und dann eine Leerzeile dazwischen, wie ich es geschrieben hatte, war alles kaputt. Ich habe „Symbole anzeigen“ aktiviert und statt einem CRLF am Ende jeder Absatzzeile, gefolgt von einem CRLF für die Leerzeile, waren mehrere CRLFs darin. Und zwar ungefähr 200 % mehr, als ich wollte.
Ich habe versucht, hier etwas Text einzugeben, um zu zeigen, wie er in Notepad++ aussieht, aber dieses Message Board korrigiert ihn, sodass er so aussieht, wie er sollte. Ich kann Ihnen also nicht zeigen, wie er aussieht. Allerdings habe ich hier irgendwo Folgendes gefunden: Führen Sie eine RegEx-Suche/Ersetzung für \R(?!\R) durch, und das korrigiert die Zeilen in den Absätzen. Allerdings wollte ich diese leere Zeile zwischen den Absätzen, weil ich sie ohne nachzudenken einfüge. Da es jetzt nur noch ein CRLF pro Absatz gibt, gibt es dann eine RegEx-Suche/Ersetzung, um am Ende jeder Zeile mit Text ein \n hinzuzufügen, sodass diese Zeile zwischen bereits geschriebenen Absätzen erstellt wird? Das macht mich verrückt. Aber ich kann es mir nicht leisten, UltraEdit zu aktualisieren. Und die neue Version würde mir wahrscheinlich sowieso nicht gefallen ...
Antwort1
Ich bin nicht sicher, ob ich das richtig verstehe. Sie möchten Zeilenumbrüche nur entfernen, wenn ihnen weder ein weiterer Zeilenumbruch vorangeht noch folgt.
So funktioniert es:
- Ctrl+H
- Finde was:
(\R\R)\R*|\R
- Ersetzen mit:
$1
- WÄHLEN Regulären Ausdruck
- Replace all
Erläuterung:
(\R\R) # 2 linebreaks (i.e. paragraphs spacing)
\R* # 0 or more linebreaks, optional
| # OR
\R # a single linebreak
Ersatz:
$1 # content of group 1, 2 linebreaks
Antwort2
In Notepad++ lässt sich das Problem leicht beheben:
- Drücken Sie CtrlHfür den Suchen/Ersetzen-Dialog.
SatzSuchmodusZuErweitert.
Geben Sie
\r\n\r\n
einFinde was:, d. h. eine Klammer aus den Zeichen CR und LF.Geben Sie
\r\n\
einErsetzen mit:.KlickenAlles ersetzen.
Bei jedem Klick auf diese Schaltfläche wird die Anzahl der duplizierten CR/LF-Paare reduziert.im gesamten Dokument.Dadurch entsteht eineeinzelZeilenumbruch am Ende jedes Absatzes. Ändern Sie die obigen Argumente indoppeltZeilenabstand.
Wenn Sie konsistentedoppelte LinieAbstand
- ÄndernalleZueinzelZeilenabstand, wie oben gezeigt.
- Suchen Sie dann nach allen
\r\n
und ersetzen Sie sie durch\r\n\r\n
,einmal.
Noch erweiterte Suchfunktionen sind verfügbar überRegulären Ausdruck.