Seite 1 von 1

Ersetzung von Seitenreichweiten

Verfasst: Mi 4. Sep 2024, 11:28
von Zeronnimo
Hallo liebes LibreOffice Forum,

ich editiere regelmäßig Artikel für eine wissenschaftliche Zeitschrift, in der eben oft zitiert wird. Der Chefeditor wünscht, dass die Seitenangaben dieser Zitate nicht durch einen normalen Bindestrich getrennt werden (4-8) sondern durch ein etwas längeres en-dash (4–8) (ALT-code 0150).

Also zur Frage: Gibt es eine Möglichkeit, mithilfe regulärer Ausdrücke mit der Suchen&Ersetzen Funktion zwei beliebige Zahlen von 0-9, die durch einen Bindestrich verbunden sind, zu suchen und durch dieselben Zahlen mit einem en-dash verbunden zu ersetzen?
Bisher scheitert es an dem "dieselben", denn die Suche kriege ich schon gut hin: "[:digit:]-[:digit:]", "[0123456789]-[0123456789]" und "[0-9]-[0-9]" liefern alle die gesuchten Zitate mit Seitenangaben. Wenn ich sowas aber bei Ersetzen eingebe, fügt LibreOffice wirklich z.B. "[:digit:]–[:digit:]" als Text ein.

Gibt es da eine elegante Lösung?
Vielen Dank im Voraus!

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 4. Sep 2024, 11:48
von Mondblatt24
Hallo,
hast du schon probiert die Zeichen direkt in die entsprechenden Felder einzufügen?
Suchen: - (U+002d)

Ersetzen: (U+2013)

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 4. Sep 2024, 13:11
von miesepeter
Zeronnimo hat geschrieben:
Mi 4. Sep 2024, 11:28
Gibt es eine Möglichkeit, mithilfe regulärer Ausdrücke mit der Suchen&Ersetzen Funktion zwei beliebige Zahlen von 0-9, die durch einen Bindestrich verbunden sind, zu suchen und durch dieselben Zahlen mit einem en-dash verbunden zu ersetzen?
Ja, aber dein Ansatz ist hierzu nicht brauchbar.
Info: https://help.libreoffice.org/latest/de/ ... 00001.html
Erläuterung:
Wenn du neben einem Zeichen die Tastenkombination ALT + C drückst, so erscheint der Unicode Hexadezimalcode für das Zeichen. Nochmals gedrückt verwandelst du den Code zurück ins Zeichen.
In der SUCHEN-Eingabe kann man z. B. für einen Bindestrich eingeben: \u002d und wird dann einen oder viele finden. Beim Ersetzen hilft das nicht, dort kannst du über die Zwischenablage den n-Dash (Halbgeviertstrich; Gedankenstrich) einfügen.
Du bekommst die Zahlenwerte für diese Zeichen auch bei der Übersicht Einfügen | Sonderzeichen heraus. Wenn du in der Suche dash eingibst, dann werden en-Dash und em-Dash angezeigt; beim Anwählen erscheint auch deren jeweiliger Hexcode.

Einfacher als hier beschrieben geht's natürlich mit @Mondblatts Anleitung!

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 4. Sep 2024, 13:37
von juribel
Dein Suchbegriff muss lauten:

Code: Alles auswählen

([:digit:])-([:digit:])
Dies findet jeweils eine Ziffer, gefolgt von einem Minuszeichen, gefolgt von einer Ziffer.
Dein Ersatzbegriff muss lauten:

Code: Alles auswählen

$1X$2
wobei das "X" hier für dein gewünschtes Unicode-Zeichen steht (u+2013)
Die Klammern um die [:digit:] bewirken, dass du die geklammerten Werte im Ersatzbegriff als $1 und $2 ansprechen und übernehmen kannst.

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 4. Sep 2024, 16:42
von miesepeter
@juribel
Gute Lösung, hatte in meiner Antwort nur auf das Ersetzen von "Bindestrich" zu "Gedankenstrich" geachtet. Kam der Aufgabenstellung daher nur teilweise nahe. :oops:

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 11. Sep 2024, 12:13
von Zeronnimo
juribel hat geschrieben:
Mi 4. Sep 2024, 13:37
Dein Suchbegriff muss lauten:

Code: Alles auswählen

([:digit:])-([:digit:])
Dies findet jeweils eine Ziffer, gefolgt von einem Minuszeichen, gefolgt von einer Ziffer.
Dein Ersatzbegriff muss lauten:

Code: Alles auswählen

$1X$2
wobei das "X" hier für dein gewünschtes Unicode-Zeichen steht (u+2013)
Die Klammern um die [:digit:] bewirken, dass du die geklammerten Werte im Ersatzbegriff als $1 und $2 ansprechen und übernehmen kannst.
Super, das funktioniert genau so wie erhofft! Danke Juribel! Hast mir meine Arbeit grad ein ganzes Stück leichter gemacht. :D

Re: Ersetzung von Seitenreichweiten

Verfasst: Mi 11. Sep 2024, 13:30
von juribel
Na das freut einen doch! Nichts zu danken.