🙏 Helfen Sie mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Suchen und Ersetzen [GELÖST]

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Suchen und Ersetzen [GELÖST]

Beitrag von Mau » Do 2. Jan 2025, 11:33

Liebe ExpertInnen,
es geht - mal wieder - um Suchen und Ersetzen mit regulären Ausdrücken.
Ich möchte nach Sätzen suchen, die nach dem abschließenden Punkt des vorangehenden Satzes ohne Leerzeichen, also direkt mit einem Buchstaben oder einer Zahl beginnt, und das trennende Leerzeichen nach dem Punkt einzufügen. Wie mache ich das?
Als regulärer Ausdruck steht der Punkt ja für einen beliebigen Buchstaben.
Zuletzt geändert von Mau am Fr 3. Jan 2025, 09:30, insgesamt 1-mal geändert.

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2136
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Suchen und Ersetzen

Beitrag von miesepeter » Do 2. Jan 2025, 15:38

Mau hat geschrieben:
Do 2. Jan 2025, 11:33
Als regulärer Ausdruck steht der Punkt ja für einen beliebigen Buchstaben.
Entweder maskieren: \.
oder
in Klammern ansprechen: [.]

Wenn Abkürzungen wie etwa z._B._ richtig geschrieben wurden, dann wirst du wohl kein zweites Leerzeichen einfügen wollen. Und wenn ein Satz am Absatzende steht, wäre die Ergänzung mit einem Leerzeichen auch nicht "zielführend". Punkt: Das dem Satzzeichen folgende Zeichen müsste also ein großer Buchstabe oder evtl. auch eine Zahl sein? Zu bedenken wäre auch, ob andere Satzzeichen (:?;!,) auch betroffen sein sollten... (Folgezeichen könnte ein Kleinbuchstabe sein. )
Um einen Punkt mit einem folgenden Zeichen (Großbuchstabe oder Zahl) zu suchen, könnte man mit regulären Ausdrücken wie folgt vorgehen:
----------------------
Suchen (Punkt)

Code: Alles auswählen

\.([A-Z0-9])
Ersetzen ----------------------
Suchen (Interpunktionszeichen)

Code: Alles auswählen

([!?:;,.])([A-Za-z0-9])
oder

Code: Alles auswählen

(\p{P})([A-Za-z0-9])
Ersetzen

Code: Alles auswählen

$1 $2
Übersichtliche Darstellung regulärer Ausdrücke:
https://www.data2type.de/xml-xslt-xslfo ... henklassen
LibreOffice verwendet die von ICU dargestellten Regex-Ausführungen:
https://unicode-org.github.io/icu/userg ... egexp.html

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Suchen und Ersetzen

Beitrag von Mau » Do 2. Jan 2025, 18:02

Lieber miesepeter,
wie immer kommt deine Antwort schnell und präzise. Ein paar Fragen habe ich noch zur Syntax.
miesepeter hat geschrieben:
Do 2. Jan 2025, 15:38
Entweder maskieren: \.
Das sieht recht einfach aus, auch wenn der Befehl die Satzanfänge mit Zahlen wohl übergeht, wenn ich das richtig sehe.
miesepeter hat geschrieben:
Do 2. Jan 2025, 15:38
oder
in Klammern ansprechen: [.]
Nach den Beispielen unten zu schließen, müsste der Ausdruck aber noch in runde Klammern eingeschlossen werden - richtig?
miesepeter hat geschrieben:
Do 2. Jan 2025, 15:38
Wenn Abkürzungen wie etwa z._B._ richtig geschrieben wurden, dann wirst du wohl kein zweites Leerzeichen einfügen wollen. Und wenn ein Satz am Absatzende steht, wäre die Ergänzung mit einem Leerzeichen auch nicht "zielführend".
Richtig. So etwas sollte man in einem umfangreichen Text vorsichtshalber sowieso nicht pauschal, sondern nur Schritt für Schritt ersetzen.
miesepeter hat geschrieben:
Do 2. Jan 2025, 15:38
Um einen Punkt mit einem folgenden Zeichen (Großbuchstabe oder Zahl) zu suchen, könnte man mit regulären Ausdrücken wie folgt vorgehen:
----------------------
Suchen (Punkt)

Code: Alles auswählen

\.([A-Z0-9])
Ersetzen ----------------------
Suchen (Interpunktionszeichen)

Code: Alles auswählen

([!?:;,.])([A-Za-z0-9])
oder

Code: Alles auswählen

(\p{P})([A-Za-z0-9])
Was macht der Computer mit der Zeichenfolge \p{P}?
miesepeter hat geschrieben:
Do 2. Jan 2025, 15:38
Ersetzen

Code: Alles auswählen

$1 $2
Das verstehe ich so, dass die Ausdrücke in den runden Klammern für das "Ersetzen"-Fenster durch $-Zeichen als durchnummerierte Platzhalter vertreten werden. (Auf der Seite, die du darunter verlinkt hast, steht dazu leider nichts.)

Einstweilen danke, und alles Gute zum neuen Jahr.
Mau

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2136
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Suchen und Ersetzen

Beitrag von miesepeter » Fr 3. Jan 2025, 00:16

Mau hat geschrieben:
Do 2. Jan 2025, 18:02
Was macht der Computer mit der Zeichenfolge \p{P}?
Das ist z. B. in der oben verlinkten Übersicht zu finden:
Mau hat geschrieben:
Do 2. Jan 2025, 18:02
Nach den Beispielen unten zu schließen, müsste der Ausdruck aber noch in runde Klammern eingeschlossen werden - richtig?
Die runden Klammern werden benötigt, um deren Inhalt beim Ersetzen wieder abzubilden. Die Reihenfolge wird mit den Platzhaltern $1, $2, $3 ... berücksichtigt. Das Verfahren wird schon irgendwo bei den verlinkten Seiten zu finden sein.

Du kannst natürlich auch die Writer-Hilfe aufrufen (hier online): https://help.libreoffice.org/latest/de/ ... n0000.html Dort nach regulären Ausdrücken suchen. Auch hier findest du eine Menge Informationen.

Danke für deine lieben Grüße und schöne Zeit!


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten