🙏 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!🍀
>> 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]
Suchen und Ersetzen [GELÖST]
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.
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.
- miesepeter
- * LO-Experte *
- Beiträge: 2136
- Registriert: So 19. Dez 2010, 18:16
- Wohnort: Bayern
Re: Suchen und Ersetzen
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])
Code: Alles auswählen
. $1
Suchen (Interpunktionszeichen)
Code: Alles auswählen
([!?:;,.])([A-Za-z0-9])
Code: Alles auswählen
(\p{P})([A-Za-z0-9])
Code: Alles auswählen
$1 $2
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
Re: Suchen und Ersetzen
Lieber miesepeter,
wie immer kommt deine Antwort schnell und präzise. Ein paar Fragen habe ich noch zur Syntax.
Einstweilen danke, und alles Gute zum neuen Jahr.
Mau
wie immer kommt deine Antwort schnell und präzise. Ein paar Fragen habe ich noch zur Syntax.
Das sieht recht einfach aus, auch wenn der Befehl die Satzanfänge mit Zahlen wohl übergeht, wenn ich das richtig sehe.
Nach den Beispielen unten zu schließen, müsste der Ausdruck aber noch in runde Klammern eingeschlossen werden - richtig?
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:38Wenn 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".
Was macht der Computer mit der Zeichenfolge \p{P}?miesepeter hat geschrieben: ↑Do 2. Jan 2025, 15:38Um 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)ErsetzenCode: Alles auswählen
\.([A-Z0-9])
----------------------Code: Alles auswählen
. $1
Suchen (Interpunktionszeichen)oderCode: Alles auswählen
([!?:;,.])([A-Za-z0-9])
Code: Alles auswählen
(\p{P})([A-Za-z0-9])
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
- miesepeter
- * LO-Experte *
- Beiträge: 2136
- Registriert: So 19. Dez 2010, 18:16
- Wohnort: Bayern
Re: Suchen und Ersetzen
Das ist z. B. in der oben verlinkten Übersicht zu finden:
https://www.data2type.de/xml-xslt-xslfo/regulaere-ausdruecke/features-und-dialekte/uebliche-metazeichen/zeichenklassen hat geschrieben:Code: Alles auswählen
Klasse Synonym Beschreibung \p{P} \p{Punctuation} Interpunktion
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.