LibreOffice: Suchen&Ersetzen – Mit RegEx Hashtags markieren

Da ich meine Notizen nicht direkt in LibreOffice schreibe und ich gerne Hashtags nutze und ich diese etwas anders formatieren muss, habe ich nach einer Möglichkeit gesucht, wie ich in LibreOffice diese suchen und markieren kann, so dass ich sie mit einer Formatvorlage versehen kann. Aber alles der Reihe nach.

Ich schreibe meine Texte normalerweise in Markdown. Weil das extrem schnell, mit jedem Editor und auf jedem Gerät dieser Erde, auf dem Texte eingeben werden können funktioniert. Markdown ist im Prinzip nur Text. Wer mehr darüber wissen will, findet hier in der Wikipedia schon mal einen guten Einstieg.

Kurzer Ablauf in einzelnen Schritten

  1. Ich schreibe meinen Text in Obsidian (Markdown Suite) und versehe ihn mit Hashtags wie z.B. #english #deutsch #himmel und #hölle
  2. Dann exportiere ich den Text mit „Export to“ nach OpenOffice. Wobei OpenOffice hier für das Dateiformat ODT (Open Document Text) steht. Ich benutze aber kein OpenOffice, sondern das modernere LibreOffice
  3. In LibreOffice definiere ich eine neue Zeichenvorlage für meine Hashtags, damit alle Hashtags das gleiche Aussehen haben
  4. Dann öffne ich im LibreOffice Menü „Bearbeiten“ den Dialog „Suchen und Ersetzen“ (Strg+Alt+F)
  5. Dort gebe ich im Suchen Feld \#[:alpha:]+ ein (siehe Screenshot unten)
  6. klicke auf „Reguläre Ausdrücke“
  7. klicke dann auf „Alle suchen“
  8. Jetzt werden alle Hashtags markiert, ohne dass Leerzeichen oder andere Wörter dazwischen mitmarkiert werden.
  9. Ich schließe den Suchen und Ersetzen Dialog und doppelklicke auf die Hashtag Zeichenvorlage
Suchen und Ersetzen Dialog von LibreOffice

RegEx erklärt

Eine kurze Erklärung was der Reguläre Ausdruck genau macht. Dafür zerlege ich ihn in die Einzelteile

\#[:alpha:]+
  • \# definiert das Zeichen # . Das Kreuz ist bei den RegEx normalerweise ein Befehl, so dass ich dem Programm sagen muss, dass es nicht der Befehl ist, den ich hier angebe, sondern nur das Zeichen. Dafür muss ich einen Backslash \ , ein sogenanntes ESCAPE Zeichen vorweg stellen. Mehr weiter unten in den Quellen.
  • [:alpha:] heißt, dass nur alphanumerische Zeichen a-Z und 0-9 vorkommen dürfen
  • + so oft wie sie vorkommen

Ausgeschrieben heißt das

Suche nach einem Wort, das mit einem # anfängt und dann nur noch alphanumerische Zeichen hat und zwar egal wie viele. Und nichts anderes! Folgt danach ein Komma oder ein Leerzeichen oder ein Zeilenumbruch oder ein Tab oder irgendein anderes Zeichen, das nicht in [:alpha:] vor kommt, ist die Suche beendet. Dadurch dass ich im Dialog „Alle suchen“ angeklickt habe, wird diese Suche auf den gesamten Text angewandt.

Quellen

Ein Gedanke zu „LibreOffice: Suchen&Ersetzen – Mit RegEx Hashtags markieren“

Kommentare sind geschlossen.