Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) OOo2

Das Modul, das sich hinter Bearbeiten → Suchen & Ersetzen… (Strg+f in neueren Versionen) verbirgt, kann einiges mehr als z.B. „Hamburg“ durch „Homburg“ zu ersetzen.

Inhaltsverzeichnis

  1. Writer: Formatieren mit dem Modul Suchen&Ersetzen
    1. Ein Dokument formatieren in 4 Schritten
      1. Erster Schritt: Die Artikelnummern werden zu eigenen Absätzen und erhalten eine Fettschrift sowie Abstände vor und nach dem Absatz
      2. Zweiter Schritt: Die Erläuterungen in eckigen Klammern werden zu Untertiteln
      3. Dritter Schritt: entfernen der eckigen Klammern
      4. Vierter Schritt: Einrückungen für die nummerierten Absätze
    2. Formatierungen austauschen
    3. Nach Attributen suchen oder nach Formaten?
    4. Siehe auch
  2. Writer, Calc: Suchen & Ersetzen von Formatvorlagen
    1. Siehe auch
  3. Writer, Calc: Zeilenschaltungen einfügen
    1. Beispiel Calc, Zeilenschaltungen in Tabellenzellen einfügen
    2. Beispiel Writer, Zeilenschaltungen einfügen
      1. Textzeilen in Tabelle übernehmen
      2. Absatzenden einfügen
      3. Writer-Tabelle kopieren
      4. Tabelle in Calc-Dokument einfügen und zurück in den Writer kopieren
      5. Text aus der Tabelle lösen
    3. Siehe auch
  4. Sonderzeichen
    1. Reguläre Ausdrücke
  5. Praxisbeispiele für die Anwendung regulärer Ausdrücke im Suchen&Ersetzen-Dialog
    1. Großbuchstaben
    2. Verschiedene Schreibweisen eines Wortes finden
    3. Suche mit wildcards: .*
    4. Beliebiges Zeichen bei fortlaufendem Text
    5. In einem Durchgang nach mehreren Begriffen suchen
    6. Störendes Textformat in einer Calc-Zahlenspalte
    7. Steuerzeichen
    8. Leerzeichen
    9. Geschützte Trennzeichen
    10. Siehe auch
    11. Absatzenden
    12. Siehe auch
  6. Tipps
    1. Suchen in Fußnoten
      1. Einen Text nur finden, wenn er in einer Fußnote vorkommt
      2. Alle Fußnoteninhalte gemeinsam markieren
    2. Suche nach Literaturverzeichnis-Einträgen
    3. Wenn man immer wieder die gleichen Suchen&Ersetzen-Routinen durchführen muss
  7. Siehe auch

1. Writer: Formatieren mit dem Modul Suchen&Ersetzen

Editieren

Im Writer kann man nicht nur nach Formatierungen suchen, man kann sie auch automatisch einfügen lassen. Dabei werden zwar harte Formate erzeugt, was nicht unbedingt ins VorlagenKonzept von OpenOffice passt. Aber wenn man öfter Rohtexte, z.B. aus CSV-Files zu bearbeiten hat, kann das eine hilfreiche Alternative sein. Wer konsequent mit FormatVorlagen arbeiten möchte, findet sicher hier eine Lösung: Suchen & Ersetzen von Vorlagen.

1.1. Ein Dokument formatieren in 4 Schritten

Formate mittels der Funktion Suchen & Ersetzen einzufügen, ist dann möglich, wenn die zu formatierenden Textstellen sich entweder durch eindeutige Suchbegriffe identifizieren lassen oder durch Suchmuster, die sich als reguläre Ausdrücke formulieren lassen.

SE000.png

Der links stehende Text soll allein durch Bearbeiten → Suchen & Ersetzen das rechts dargestellte Aussehen bekommen.

SE000a.png

1.1.1. Erster Schritt: Die Artikelnummern werden zu eigenen Absätzen und erhalten eine Fettschrift sowie Abstände vor und nach dem Absatz

Dazu aufrufen: Bearbeiten → Suchen & Ersetzen und den Button Mehr Optionen aufklappen

eins.png

Regulärer Ausdruck
Da wir nicht nur nach genauen Zeichen suchen können, muss die Option RegulärerAusdruck aktiviert werden.

SE001.png

zwei.png

Suchen nach
Der Ausdruck: ^Artikel [:digit:]+ lässt sich so übersetzen:
Alle Vorkommen des Wortes Artikel, gefolgt von einem Leerzeichen und einer beliebigen Zahl sollen gesucht werden, sofern sie am Anfang einer Zeile stehen.
^ steht für am Zeilenanfang, [:digit:]+ meint mindestens eine Ziffer.

drei.png

Ersetzen durch
Das Zeichen & im Feld Ersetzen durch wird durch diejenige Zeichenkette ersetzt, auf die der Suchausdruck im Feld Suchen nach aktuell zutraf. \n im Feld Ersetzen durch wird durch ein Absatzende (¶) ersetzt.
D.h. die gefundene Zeichenkette wird durch sich selbst plus ein Absatzende ersetzt (de facto also nur ein Absatzende hinzugefügt).

vier.png

Format
Damit wird ein Fenster für die Formatangaben geöffnet. Es stehen sowohl Zeichenformate wie auch Absatzformate zur Verfügung.

fuenf.png

Formatangaben
Die Formateinstellungen, die über die SchaltFläche Format… hinterlegt wurden, werden anschließend im Suchen-Ersetzen-Dialog aufgelistet.

1.1.2. Zweiter Schritt: Die Erläuterungen in eckigen Klammern werden zu Untertiteln

Dazu aufrufen: Bearbeiten → Suchen & Ersetzen… und den Button Mehr Optionen aufklappen.

eins.png

Regulärer Ausdruck
Da wir nicht nur nach genauen Zeichen suchen können, muss die Option RegulärerAusdruck aktiviert werden.

SE004.png

zwei.png

Der Ausdruck: \[.*\] lässt sich so übersetzen:
Alle Vorkommen von beliebigem Text, der zwischen eckigen Klammern steht, sollen gesucht werden.
Da eckige Klammern innerhalb von regulären Ausdrücken eine besondere Bedeutung haben, müssen sie durch \ escaped werden. .* sucht nach einer beliebigen Anzahl (dafür steht der Stern) von beliebigen Zeichen (dafür steht der Punkt).

drei.png

Ersetzen durch
Obwohl wir am Text selbst jetzt nichts verändern, sondern nur ein Format zuordnen wollen, muss hier etwas stehen, da ein leeres Feld Ersetzen durch die Bedeutung ersetzen durch „nichts“ hat; der reguläre Ausdruck & im Feld Ersetzen durch hat die Bedeutung ersetzen durch die aktuelle Fundstelle.

vier.png

Formatanzeige
Anzeige der über die SchaltFläche Format definierten Formateigenschaften, die den gefundenen Textstellen zugewiesen werden sollen.

1.1.3. Dritter Schritt: entfernen der eckigen Klammern

Diese könnten wir durch zwei einfache Suchläufe – ohne reguläre Ausdrücke – entfernen. Wenn wir jedoch Reguläre Ausdrücke benutzen, können wir das erstens in einem einzigen Durchlauf erledigen und zweitens auch noch die Bedingung mit einfließen lassen, dass linke eckige Klammern nur entfernt werden sollen, wenn sie am Zeilenanfang stehen, und rechte eckige Klammern nur, wenn sie am Zeilenende stehen.

Dazu aufrufen: Bearbeiten → Suchen & Ersetzen… und den Button Mehr Optionen aufklappen.

eins.png

Regulärer Ausdruck
Da wir nicht nur nach genauen Zeichen suchen können, muss die Option RegulärerAusdruck aktiviert werden.

SE005.png

zwei.png

Der Ausdruck: ^\[|\]$ lässt sich so übersetzen:
Alle Vorkommen von linken eckigen Klammern, die am Zeilenanfang stehen (^\[), oder (|) alle rechten eckigen Klammern, die am Zeilenende stehen (\]$), sollen gesucht werden.
Die eckigen Klammern müssen wieder durch \ escaped werden, | steht für oder, ^ bedeutet (in diesem Fall) am Zeilenanfang und $ bedeutet am Zeilenende.

drei.png

Ersetzen durch
Bleibt in dem Fall leer (d.h. die Fundstellen werden gelöscht).

vier.png

Formatanzeige
Falls hier noch Formatangaben gelistet werden, die sich das Programm vom letzten Suchlauf gemerkt hat, kann man die jetzt entfernen (siehe Punkt 5).

fuenf.png

Kein Format
Die SchaltFläche Kein Format wird erst aktiv, wenn der Cursor im Feld Ersetzen durch steht.

1.1.4. Vierter Schritt: Einrückungen für die nummerierten Absätze

Es ist zwar nicht möglich, den Absätzen, die hier im Beispiel mit Nummerierungen beginnen, per Suchen & Ersetzen "echte" Nummerierungen zuzuordnen,1 aber eine Formatierung als HängenderAbsatz lässt sich auf diesem Weg schon erreichen.

Dazu aufrufen: Bearbeiten → Suchen & Ersetzen… und die SchaltFläche Mehr Optionen aufklappen.

eins.png

Regulärer Ausdruck
Da wir nicht nur nach genauen Zeichen suchen können, muss die Option RegulärerAusdruck aktiviert werden.

SE006.png

zwei.png

Der Ausdruck: ([:digit:]+)  lässt sich so übersetzen: Ein oder mehr Ziffern zwischen runden Klammern, gefolgt von einem Leerzeichen.

drei.png

Ersetzen durch
Der Reguläre Ausdruck & im Feld Ersetzen durch wird durch die Fundstelle selbst ersetzt; \t wird durch einen Tabulatorsprung ersetzt. Also: An die Fundstellen einen Tabulator anhängen.

vier.png

Formatanzeige
Mit der SchaltFläche Format wurde ein Abstand vor Text eingerichtet plus der gleiche Abstand negativ unter Erste Zeile.

1.2. Formatierungen austauschen

Man muss nicht nach Inhalten suchen. Genauso gut kann man direkt Formatierungen gegen andere austauschen: den Dialog Bearbeiten → Suchen & Ersetzen… aufrufen und mit der SchaltFläche Mehr Optionen die Erweiterung ausklappen.

eins.png

Suchen nach
Die Formatierung, die gesucht werden soll.

SE007.png

zwei.png

Ersetzen durch
Die Formatangaben, die an den Fundstellen hinterlegt werden sollen.

drei.png

Format
Der Format-Button korrespondiert mit den Feldern Suchen nach und Ersetzen durch, d.h. wenn der Cursor im Feld Suchen nach steht, wenn man diese SchaltFläche drückt, so werden die Formate definiert, nach denen gesucht werden soll. Steht der Cursor im Feld Ersetzen durch, so legt man die Formate fest, die eingefügt werden sollen.

1.3. Nach Attributen suchen oder nach Formaten?

Während bei der Suche nach Formaten ganz konkrete Formateigenschaften gesucht werden, findet die Suche nach Attributen Anwendungsstellen, wobei die Eigenschaft nicht unbedingt genau definiert sein muss. Die Suche nach dem Attribut: Textfarbe findet alle Stellen mit einer Textfarben-Zuordnung, egal welcher Farbe.

1.4. Siehe auch


KategorieWriter

2. Writer, Calc: Suchen & Ersetzen von Formatvorlagen

Editieren

Mit dem Modul Suchen & Ersetzen können in TextDokumenten AbsatzVorlagen und in TabellenDokumenten ZellVorlagen ausgetauscht werden. Dazu klappt man im Dialog Suchen&Ersetzen den Button Mehr Optionen auf und aktiviert die Option Suche nach Vorlagen.

In der Folge werden die Felder Suchen nach und Ersetzen durch zu DropDown-Feldern. Die Liste in Suchen nach enthält alle Vorlagen, die im Dokument angewendet wurden, während die Liste in Ersetzen durch alle Vorlagen anbietet.

Damit sind die Möglichkeiten der Vorlagen-Zuweisung via Suchen&Ersetzen aber noch nicht erschöpft.

Im Grunde kann man jede Suchvariante, sei es nach exakten Zeichen(ketten), nach regulären Ausdrücken, nach Formaten oder Attributen benutzen, um Vorlagen zuzuweisen.

Der Dialog Suchen&Ersetzen bietet unter anderem den Button Suche alle. Wird dieser Button gedrückt, so werden alle Textstellen markiert, die den Suchkriterien entsprechen. Nun braucht man nur noch in den Formatvorlagen eine Absatz- oder Zeichenvorlage (oder auch NummerierungsVorlagen) – bzw. eine Zellvorlage in einem Calc-Dokument - per Doppelklick zuweisen; oder auch unerwünschte harte Formate durch Drücken von Format → Standardformatierung entfernen.

2.1. Siehe auch

Suchen und Ersetzen von:




KategorieWriter KategorieCalc

3. Writer, Calc: Zeilenschaltungen einfügen

Editieren

Das Problem

Im Gegensatz zu Absatzenden () werden Zeilenschaltungen (?) bislang nur teilweise von Suchen-Ersetzen-Vorgängen durch reguläre Ausdrücke unterstützt.

So gibt es innerhalb von Writer keine Möglichkeit den Zeichencode (Unicode U+00B6) des Absatzende (harter Umbruch=Return) durch den Zeichencode der Zeilenschaltung (weicher Umbruch=Shift+Return) (Unicode U+00AC) zu ersetzen, da die Suche über die regulären Ausdrücke \x00B6 (ersetzen durch) \x00AC nicht funktioniert. Einzig ein externer Hex-Editor wäre in der Lage 0D0A gegen 0A auszutauschen, sofern man den einzufügenden Text in den Hex-Editor kopiert, 0D0A gegen 0A ersetzt und wieder in Writer zurück kopiert, womit das Problem dann aber auch gelöst wäre.

Lösung 1

Die einfachst Variante ist daher, ein (leeres) HTML-Dokument zu öffnen, den Text dort hinein zu kopieren und in der 'HTML-Quelltext' Ansicht 'Suchen und Ersetzen' durchführen, wobei dort alle '<p>' gegen (Leerzeichen) und alle '</p>' gegen '<br><br>' ausgetauscht bzw. ersetzt werden müssen. Danach wechselt man wieder in die 'Weblayout' Ansicht und kopiert den Text zurück in das Writer Dokument.

Lösung 2

Um dennoch automatisiert Zeilenschaltungen einfügen zu können, muss man beide Module benutzen, d.h., die betreffenden Textbereiche müssen hin- und herkopiert werden. Auch wenn dieser Umweg ein wenig kompliziert ist, kann dieses Vorgehen beispielsweise bei der Bearbeitung von Rohtexten aus CSV-Dateien eine interessante Alternative sein.

Egal, ob die Zeilenschaltungen schlußendlich in einem TextDokument oder einem TabellenDokument benötigt werden, man braucht in jedem Fall beide Module.

Der Trick dabei ist, dass OpenOffice.org Absatzenden, die sich in einer Zelle einer WriterTabelle befinden, als Zeilenschaltungen interpretiert, wenn man sie in eine Calc-Tabelle kopiert. Umgekehrt bleiben Zeilenschaltungen aus einer Calc-Tabelle auch Zeilenschaltungen, wenn man die Tabelle mit der Option Formatierter Text [RTF] in ein Writer-Dokument kopiert (Bearbeiten ? Inhalte einfügen).

3.1. Beispiel Calc, Zeilenschaltungen in Tabellenzellen einfügen

Das Beispiel geht von einer Textspalte in einer Calc-Tabelle aus, in der an einer eindeutig zu identifizierenden Stelle (einem Doppelpunkt gefolgt von einem Leerzeichen) eine Zeilenschaltung eingefügt werden soll.

SE010.png

Dazu wird die Textspalte im Tabellendokument kopiert und als Formatierter Text [RTF] in ein Writer-Dokument eingefügt, wobei eine einspaltige WriterTabelle erzeugt wird.

SE011.png

Mit Bearbeiten ? Suchen&Ersetzen wird der Doppelpunkt mit einem Absatzende ergänzt:

SE012.png

eins.png

Suchen nach
Nach dem Doppelpunkt steht noch ein Leerzeichen, damit dieses nicht am Anfang der neu zu erzeugenden Zeile landet.

zwei.png

Ersetzen durch
Mit dem & weisen wir das Programm an, die gefundene Zeichenkette nicht zu ersetzen sondern zu ergänzen; \n wird als Absatzende interpretiert, wenn es im Feld Ersetzen durch verwendet wird.

drei.png

Regulärer Ausdruck
Damit reguläre Ausdrücke verarbeitet werden, muss diese Option aktiviert werden.

Nun werden in die WriterTabelle zwar Absatzenden statt Zeilenschaltungen eingefügt, aber nachdem man die Spalte markiert, kopiert und in das Tabellendokument eingefügt hat, werden daraus nun doch noch Zeilenschaltungen

SE013.png

Wenn man in der WriterTabelle ausser dem Absatzende auch noch gleich eine Formatierung per Suchen&Ersetzen hinzugefügt hat, bleibt auch diese bei der Übertragung in die Calc-Tabelle erhalten

SE014.png

3.2. Beispiel Writer, Zeilenschaltungen einfügen

3.2.1. Textzeilen in Tabelle übernehmen

Zunächst muss der gesamte Text in eine einspaltige WriterTabelle. Dazu wird der Text markiert und via Tabelle ? Umwandeln ? Text in Tabelle in eine Tabelle überführt. Als Spaltentrennzeichen muss man etwas wählen, was nicht im Text vorkommt, damit nur eine Spalte entsteht.

3.2.2. Absatzenden einfügen

An den Textstellen, an denen später Zeilenschaltungen stehen sollen, werden zunächst Absatzenden eingefügt, siehe Beispiel im vorigen Abschnitt.

3.2.3. Writer-Tabelle kopieren

Die so vorbereitete Writer-Tabelle muss nun nach Calc kopiert werden. Um die Tabellenstruktur beizubehalten, muss man folgendermaßen vorgehen:

Zunächst eine zusätzliche (leere) Zelle einfügen. Dann die Zelle mit dem Inhalt so markieren, dass nicht mur der Text markiert, sondern die gesamte Zelle schwarz hinterlegt ist (das ist nur möglich, wenn die Tabelle aus mehr als einer Zelle besteht, daher die angefügte Zusatzzelle). Man kann auch einfach die gesamte Tebelle markieren und kopieren.-

3.2.4. Tabelle in Calc-Dokument einfügen und zurück in den Writer kopieren

Beim Einfügen der Writer-Tabellenzelle in ein Calc-Dokument muss der Zellinhalt der Writer-Tabelle in einer einzigen Calc-Zelle landen. Wird er stattdessen auf mehrere Zeilen verteilt, muss der Kopiervorgang wiederholt werden (genau wie oben beschrieben vorgehen).

Nun muss diese Zelle wieder markiert und kopiert werden. Auch hier muss eine zusätzlichew Zelle mit markiert und kopiert werden, sonst wird die Tabellenstruktur nicht mit übernommen.

Den Inhalt mit der Option formatierter Text (Einfüge-Icon aufklappen) in das Writer-Dokument übernehmen.

3.2.5. Text aus der Tabelle lösen

Wenn das Ergebnis keine Tabelle sonder normaler Fliesstext sein soll, kann man nun die WriterTabelle noch markieren und mittels Tabelle ? Umwandeln ? Tabelle in Text die Tabellenstruktur entfernen. Übrig bleibt normaler Text mit Zeilenschaltungen an den gewünschten Stellen.

3.3. Siehe auch

Suchen und Ersetzen von:




KategorieCalc KategorieWriter KategorieHowto

4. Sonderzeichen

4.1. Reguläre Ausdrücke

Editieren

5. Praxisbeispiele für die Anwendung regulärer Ausdrücke im Suchen&Ersetzen-Dialog

5.1. Großbuchstaben

Aus dieser Zeichenkette:

reg01.gif

...soll diese sortierte Liste entstehen:

reg02.gif

Im ersten Schritt werden alle Wörter in separate Zeilen übernommen:

Markieren Sie die Zeichenkette.
Suchen nach: [:upper:]?
Aktivieren Sie die Option Exakte Suche (Unterscheidung von Groß- und Kleinbuchstaben)
Aktivieren Sie die Option Regulärer Ausdruck (Schaltfläche Mehr Optionen)
Aktivieren Sie die Option Nur in Selektion
Ersetzen durch: \n&

upper.png

Der Reguläre Ausdruck [:upper:]? sucht (in Kombination mit der Option Exakte Suche) nach genau einem Großbuchstaben
\n& ersetzt die Fundstelle durch ein Absatzende (\n) gefolgt von der Fundstelle (Match) selbst (RegulärerAusdruck &)
Mit Ersetze alle wird dies auf jedes Vorkommen (innerhalb der Selektion) angewandt.

reg03.gif

Im zweiten Schritt werden die einzelnen Begriffe alphabetisch sortiert:

Dazu werden die entstandenen Zeilen markiert und mit Extras → Sortieren in die richtige Reihenfolge gebracht.

reg04.gif

Im dritten Schritt werden die Absatzenden durch ein anderes Trennzeichen ersetzt:

Alle Zeilen der Liste markieren.
Suchen nach: $
Aktivieren Sie die Option Regulärer Ausdruck (Schaltfläche Mehr Optionen)
Aktivieren Sie die Option Nur in Selektion
Ersetzen durch:  - 

divis.png

$ sucht (als RegulärerAusdruck) nach einem Absatzende, jedes Vorkommen (innerhalb der Selektion) wird durch einen Bindestrich mit führendem und nachfolgendem Leezeichen ( - ) ersetzt, wenn auf Ersetze alle geklickt wird.

reg02.gif

5.2. Verschiedene Schreibweisen eines Wortes finden

Im Dokument kommt sowohl Schifffahrt, wie auch Schiff-Fahrt wie auch Schiffahrt wie auch Schiff-fahrt (mit bedingtem Trennzeichen) vor und Sie möchten alle Vorkommen finden.

Suche nach: Schif{1,2}.?fahrt
Aktivieren Sie die Option Regulärer Ausdruck (Schaltfläche Mehr Optionen)
Klicken Sie auf die SchaltFläche Suche alle

12.png

Der Reguläre Ausdruck Schif{1,2}.?fahrt trifft auf alle Zeichenketten zu, die

  1. mit der Zeichenkette Schif oder Schiff beginnen, also das f mindestens ein Mal, aber höchstens zwei Mal enthalten ({1,2}), worauf

  2. ein beliebiges Zeichen (.) genau null oder ein Mal folgt (?) und

  3. mit der Zeichenkette fahrt enden.

(Der Ausdruck trifft also auch auf Schif-fahrt zu oder SchiffXfahrt.)

5.3. Suche mit wildcards: .*

Sie sind es vielleicht aus anderen Zusammenhängen gewohnt, nach Platzhaltern mit einem * zu suchen, etwa in der Art:

Suche nach: *haus*

wobei Hausrat, Hausarzt, Hausbesuch, Hausaufgabe, Hausdächer, Haustür usw. aber auch Bauernhaus, Geschäftshaus, Traumhaus, Fürstenhaus usw. gefunden werden sollen.

OpenOffice.org würde aber mit *haus* gar nichts oder zumindest nicht das Gewünschte finden, weil hier * nur ein Quantifizierer, nicht ein Match selbst ist. Ein beliebiges Zeichen (genau ein Mal) wird in der Syntax der Regulären Ausdrücke von OOo mit . ausgedrückt. Mehrere beliebige Zeichen (.., ... usw.) findet man, indem man sie mit einem Quantifizierer mehrmals finden lässt, also mit * für beliebig oft: .*.

In einem TabellenDokument könnte man den Suchbegriff erweitern auf .*haus.*, also ein beliebiges Zeichen beliebig oft (0, 1 oder mehr Mal), gefolgt von der Zeichenkette haus, gefolgt von einem beliebigen Zeichen beliebig oft (0, 1 oder mehr Mal).
Als Suchergebnis würde man erhalten:

reg05.gif

In fortlaufendem Text (TextDokument) kommt dieses Vorgehen jedoch nicht in Betracht, weil ein beliebiges Zeichen beliebig oft den gesamten Inhalt des Textes bis zum nächsten oder seit dem letzten Zeilen- oder Absatzwechsel findet.
Das Ergebnis würde so aussehen:

reg06.gif

Um zu einem brauchbaren Ergebnis zu kommen, muss die Suche differenziert werden. Man unterscheidet zwischen Wörtern, in denen Haus am Wortanfang steht (RegulärerAusdruck \<) und solchen, in denen haus am Wortende steht (RegulärerAusdruck \>). Dazu werden die beiden Ausdrück mit logisch entweder-oder verknüpft (|). Die Option Exakte Suche (= „case sensitive“) bleibt ausgeschaltet.

[:alpha:]*haus\>|\<haus[:alpha:]*

haus.png

liefert dieses Ergebnis

reg07.gif

Es werden Zeichenketten mit folgenden Eigenschaften gefunden:

  1. Entweder ein beliebiges Zeichen des Alphabets (ohne Ziffern, Satzzeichen, Leerzeichen usw.) ([:alpha:]) beliebig oft (0, 1 oder mehrmals) (*), gefolgt von haus am Wortende (haus\>)

  2. oder haus am Wortanfang (\<haus), gefolgt von einem beliebigem Zeichen des Alphabets (ohne Ziffern, Satzzeichen, Leerzeichen usw.) ([:alpha:]) beliebig oft (0, 1 oder mehrmals) (*),

wobei nicht zwischen Groß- und Kleinschreibung („Exakte Suche“) unterschieden wird.

Also entweder X-Haus (wobei X auch "nichts" sein kann, also nur Haus), oder Haus-X. Doppelhaushälfte würde damit nicht gefunden werden. Dazu wäre ein RegulärerAusdruck wie z.B. \<[:alpha:]*[hH]aus[:lower:]*\> geeignet (dieser funktioniert auch mit aktivierter Option exakte Suche).

5.4. Beliebiges Zeichen bei fortlaufendem Text

In einem Beispieltext sollen die Wörter Beispieltext, beispielhaft wie auch beigelegt gefunden werden, also Wörter, die mit "bei" anfangen und mit "t" enden. Nun könnte man annehmen, der reguläre Ausdruck bei.*t sei dafür geeignet: bei gefolgt von einer beliebigen Anzahl beliebiger Zeichen, gefolgt von einem t.

Man erhält damit jedoch eine einzige lange Fundstelle vom ersten Vorkommen von bei bis zum letzten Vorkommen von t:

reg10.gif

Der Ausdruck beliebiges Zeichen (.) ist zu weit gefasst, weil er auch Satzzeichen und Leerzeichen (nicht jedoch Absatzwechsel) findet. In TextDokumenten führt die Verwendung dieses Such-Ausdrucks deshalb oft zu unerwünschten Ergebnissen; in TabellenDokumenten, wo . nicht über Spalten- und Zeilenwechsel hinweg findet (siehe oben), kann er jedoch für schnelle Suchen geeignet sein.

Wir engen den Regulären Ausdruck von beliebige Anzahl von beliebigen Zeichen ein auf Kleinbuchstaben ein- oder mehrmals: [:lower:] ist die Menge der Kleinbuchstaben (ohne Ziffern, Satzzeichen oder Leerzeichen), + quantifiziert diese mit mindestens ein Mal (nach einem 0-maligen Vorkommen ist in diesem Falle nicht zu suchen, weil es das Wort beit nicht gibt).

[Bb]ei[:lower:]+t

reg11.gif

[Bb] ist die Menge aus B und b, findet also in Verbindung mit dem folgenden ei auch bei eingeschalteter Option Exakte Suche Bei oder bei.

Man könnte die Suche jetzt noch z.B. durch die Bedingungen Wortanfang (\<) oder Wortende (\>) verfeinern (vgl. oben).

5.5. In einem Durchgang nach mehreren Begriffen suchen

Wenn man im gleichen Such-Durchlauf nach mehreren unterschiedlichen Begriffen suchen will, so trennt man die einzelnen Suchbegriffe mit einem |.

Im nebenstehenden Beispieltext sollen alle im Text vorkommenden Eigennamen durch ein bestimmtes Format hervorgehoben werden. Dabei sollen nicht nur die reinen Namen sondern auch Erweiterungen wie Inges, Peterchen oder Gabi-Maus berücksichtigt werden.

reg12.gif

Als regulärer Ausdruck wird im Feld Suchen nach eingegeben:

Anna[^ ]*|Sofie[^ ]*|Peter[^ ]*|Inge[^ ]*|Ingo[^ ]*|Gabi[^ ]*

Der Ausdruck [^ ]* nach jedem Namen bedeutet:
Es sollen auch Begriffe gefunden werden, die mit einem der Suchmuster beginnen und einer beliebigen Anzahl (dafür steht: *) Zeichen beendet werden. Der Ausdruck [^ ] schließt aus der Menge beliebiger Zeichen das Leerzeichen aus, das die Namen jeweils beendet. 2

Mit der Option regulärer Ausdruck veranlaßt man das Programm, das Suchmuster im Feld Suchen nach auszuwerten.

Mit der Option exakte Suche sorgt man dafür, dass Kombinationen wie eingeladen nicht gefunden werden.

Die Suche nach einem beliebigen Zeichen außer einem Leerzeichen ([^ ]) schließt auch Satzzeichen mit ein und würde Komma Punkt, etc in die gefundene Zeichenfolge mit einschließen. Um das zu vermeiden, kann man entweder weitere Zeichen aus der Menge der beliebigen Zeichen mit ausschliessen: [^ .,:] oder den Ausdruck am Wortende (\>) mit aufnehmen:

Anna[^ ]*\>|Sofie[^ ]*\>|Peter[^ ]*\>|Inge[^ ]*\>|Ingo[^ ]*\>|Gabi[^ ]*\>

Um nun den Fundstellen die richtige Formatierung zuzuweisen, gibt es zwei Vorgehensweisen.

Zum einen kann man durch Drücken von Suche alle sämtliche betroffenen Textstellen markieren lassen und danach durch Doppelklick auf eine Zeichenvorlage im Formatvorlagen-Fenster allen Fundstellen diese Zeichenvorlage zuweisen

reg13.gif

Oder man gibt im Feld Ersetzen durch ein & ein, klickt auf den Button Format, wählt die nötigen Eigenschaften und drückt zum Schluss Ersetze alle

Mit dem &-Zeichen im Feld Ersetzen durch weist man das Programm an, die Fundstellen durch sich selbst zu ersetzen (in der Regel nur sinnvoll in Verbindung mit weiteren Zeichen). Im aktuellen Beispiel soll nur durch eine Formatierung ergänzt werden, man könnte aber vor oder nach dem &-Zeichen auch Text einfügen.

reg14.gif

5.6. Störendes Textformat in einer Calc-Zahlenspalte

Beim Datenimport in Calc-Tabellen kann es vorkommen, dass eine Zahlenspalte als Text formatiert ist und mit diesen Werten nicht gerechnet werden kann. In einigen Fällen erkennt man das dadurch, dass beim Anklicken einer solchen Zelle in der EingabeZeile statt beispielsweise 10 '10 steht (führendes ').

Das muss aber nicht sein. Auch wenn eine Zelle zuerst mit einem Textformat belegt wird und anschließend Zahlen ohne ' eingegeben werden, erkennt Calc die Zahlen nicht mehr als solche. Ein Suchen & Ersetzen-Durchlauf bringt Abhilfe:

Suchen nach: ^[0-9]
Ersetzen durch: &
Aktivieren: regulärer Ausdruck

Wenn das ZellenFormat vor der Eingabe der Zahlen bereits auf Text gesetzt war, muss vor dem Durchführen von suchen&ersetzen das Zellformat auf Zahl geändert werden.

5.7. Steuerzeichen

Will man nach Tabulatorsprüngen, Zeilenschaltungen oder Absatzenden suchen, so gibt es auch dafür reguläre Ausdrücke. Anwendungsbeispiele:

\t

zum Suchen nach oder Ersetzen durch einen Tabulator

\n

zum Suchen nach einer Zeilenschaltung (nicht aber zum Ersetzen durch eine Zeilenschaltung)

\n

zum Ersetzen durch einen Absatzwechsel (nicht aber zum Suchen nach einem Absatzwechsel)

$

zum Suchen nach einem Absatzwechsel (nicht aber zum Ersetzen durch einen Absatzwechsel)

^$

zum Suchen nach einem Absatzwechsel, der sich am Zeilenanfag befindet (= leerer Absatz)

Die vollständige Liste der Syntax finden Sie auf der Seite RegulärerAusdruck.

5.8. Leerzeichen

Leerzeichen – auch spezielle ­wie z.B. ein GeschütztesLeerzeichen – können mit aktivierter Option Regulärer Ausdruck im Dialog SuchenUndErsetzen gefunden und ggf. auch eingefügt werden.

Als zu suchenden und/oder zu ersetzenden Begriff verwendet man entweder das Zeichen selbst, indem man je nachdem im Feld Suchen nach oder Ersetzen durch einfach die Leertaste drückt (in diesem Fall muss die Option Regulärer Ausdruck nicht aktiviert werden) oder seinen Hexadezimal-Wert wie z.B. \x0020 für ein einfaches Leerzeichen (U+0020) einträgt (für eine Liste siehe unter LeerZeichen).

Verwendet man stattdessen den regulären Ausdruck [:space:], ist zu beachten, dass dieser nicht direkt für ein konkretes Leerzeichen steht, sondern allgemein für jeglichen white space; daher muss man diesen Ausdruck mit einem Quantifizierer zu [:space:]+, also white space ein- oder mehrmals, oder [:space:]?, also white space null oder ein Mal, ergänzen.

5.9. Geschützte Trennzeichen

Trennzeichen, die mit CTRL+- eingefügt wurden (sog. weiche Trenzzeichen od. soft-hyphen), haben den Code 00AD. Diese findet man man mit dem Suchausdruck \x00AD.

5.10. Siehe auch


KategorieWriter KategorieHowto

5.11. Absatzenden

Editieren

Zeilenschaltungen (SHIFT+RETURN) oder Absatzenden (RETURN) können als RegulärerAusdruck im Suchen-Ersetzen-Dialog verwendet werden. Für die Anwendung muß man jedoch wissen, dass man nach Zeilenschaltungen nur suchen, sie aber nicht automatisch einsetzen kann. Absatzenden kann man sowohl suchen wie auch einsetzen (wie man dennoch zu automatisch erzeugten Zeilenschaltungen kommen kann, ist im Abschnitt Writer, Calc: Zeilenschaltungen einfügen beschrieben).

Außerdem funktionieren Suchen und Ersetzen durch nicht gleich:
Ein Absatzende sucht man mit dem regulären Ausdruck: $
Einsetzen muß man Absatzenden jedoch mit dem regulären Ausdruck: \n
Eine Zeilenschaltung sucht man mit dem regulären Ausdruck: \n

Damit reguläre Ausdrücke als solche erkannt werden, muß im Suchen-Ersetzen-Dialog diese Option aktiviert werden.

Praxisbeispiel:

Im nebenstehenden Text sollen alle Absatzenden an normalen Zeilenenden entfernt werden.

Dort wo jetzt doppelte Absatzenden das Ende eines Absatzes kennzeichnen, soll nachher ein einfaches Absatzende stehen.

se.png

Es werden mindestens drei Suchen-Ersetzen-Durchläufe benötigt. Zunächst müssen diejenigen Absatzenden gesichert werden, die auch im überarbeiteten Dokument stehen sollen und hier als leere Absätze sichtbar sind.

In leeren Absätzen befindet sich das Absatzende am Zeilenanfang. Um nur diejenigen Vorkommen eines Zeichens zu finden, die sich an einem Zeilenanfang befinden, wird diesem Zeichen der reguläre Ausdruck ^ vorangestellt, nach leeren Absätzen sucht man also so: ^$. Ersetzt werden diese leeren Absätze zunächst durch ein beliebiges Zeichen, welches sonst nicht vorkommt oder eine entsprechende Zeichenkette, zum Beispiel: ##@##.
Also 1.: Ersetzen von ^$ durch ##@##.

Mit einem zweiten Durchlauf werden nun die störenden Absatzenden entfernt:
Suchen nach: $
Das Ersetzen durch-Feld kann man entweder leer lassen, wenn sich vor den Absatzenden bereits ein Leerzeichen im Text befindet, oder ein Leerzeichen ins Ersetzen durch-Feld eingeben.
Also 2.: Ersetzen von $ durch >leer<.

Im dritten Durchlauf werden nun die „gesicherten“ Absatzenden wiederhergestellt:
Also 3.: Ersetzen von ##@## durch \n.

Je nach Ausgangstext kann es nun sein, dass an manchen Stellen doppelte Leerzeichen vorkommen. Diese kann man mit einem weiteren Durchlauf entfernen, wobei nun nicht mehr mit regulären Ausdrücken gearbeitet werden muss. Man gibt einfach zwei Leerzeichen im Suchen nach-Feld ein und ein einzelnes im Ersetzen durch-Feld. Alternativ kann man auch die AutoKorrektur verwenden.
Also 4.: Ersetzen von >leer<>leer< durch >leer<.

Siehe auch: DeleteHardReturns

5.12. Siehe auch

Suchen und Ersetzen von:




KategorieWriter KategorieHowto

6. Tipps

6.1. Suchen in Fußnoten

6.1.1. Einen Text nur finden, wenn er in einer Fußnote vorkommt

Fußnoten benutzen alle die gleiche Absatzvorlage, im Normalfall ist das die Vorlage Fußnote. In dieser ist normalerweise die Schriftfarbe wie in allen Vorlagen auf automatisch gesetzt. Wenn man das ändert (z.B. auf schwarz), kann man diese Einstellung zum Suchen verwenden:

Im Feld Suchen nach das gesuchte Wort eingeben. Unter mehr Optionen zunächst mit dem Button Attribute das Attribut Schriftfarbe aktivieren und anschließend mit dem Button Format die Schriftfarbe schwarz auswählen. Unterhalb des Suchen-Feldes muß nun stehen:
Schriftfarbe, Schwarz 3

Nun noch die Option einschließlich Vorlagen aktivieren und Suchen oder Suche alle drücken.

6.1.2. Alle Fußnoteninhalte gemeinsam markieren

Man kann alle Fußnoten-Inhalte dadurch gemeinsam markieren, dass man nach der Absatzvorlage Fußnote sucht.

Dazu in den Optionen die Auswahl Suche nach Vorlagen aktivieren, die Fußnoten-Absatzvorlage einstellen und suche alle drücken.

Die so markierten Fußnoten-Inhalte kann man nun kopieren und irgendwo anders "am Stück" einfügen. Allerdings fehlen dann die Absatzenden zwischen den einzelnen Fusnoten. Wenn das Kopieren der Zweck der gemeinsamen Markierung ist, gibt es eine weitere Möglichkeit:

Zunächst benutzt man wie im vorigen Abschnitt die Formatierung der Fußnoten-Absatzvorlage, indem man ihr z.B. die Schriftfarbe schwarz zuordnet. Bei Suchen nach stellt man ebenfalls Format und Attribut ein (vgl. voriger Abschnitt), als Suchbegriff aber .* zusammen mit der Aktivierung der Option regulärer Ausdruck. Im Feld ersetzen durch gibt man ein & ein (bedeutet: ersetze den gefundenen Text durch sich selbst) und direkt dahinter ein Zeichen, das sonst nicht vorkommt, z.B. #. Nachdem man Ersetze alle gedrückt hat, wird an alle Fußnoten-Absätze das #-Zeichen angehängt. Wenn man nun die Fußnoten-Inhalte kopiert und irgendwo anders wieder einfügt, kann man am Zielort die #-Zeichen wieder durch den regulären Ausdruck \n (=Absatzende) ersetzen lassen.

6.2. Suche nach Literaturverzeichnis-Einträgen

Nach Literaturverzeichniseinträgen kann man eigentlich nicht suchen. Benutzt man jedoch den regulären Ausdruck [:ctrl:]?, so werden u.a. auch die Literaturverzeichniseinträge gefunden. Man kann zwar nicht nach einem bestimmten suchen, sich aber mit dem Suchen-Button oder den Navigations-Pfeilen (siehe "Der kleine Navigator" auf der Seite Navigator) von einem zum nächsten klicken.

6.3. Wenn man immer wieder die gleichen Suchen&Ersetzen-Routinen durchführen muss

Wenn man regelmäßig Text bekommt, in dem immer eine ganze Reihe von Zeichen ersetzt werden sollen, wird man vielleicht versuchen, dafür ein Makro zu schreiben oder eins aufzuzeichnen.

Es gibt aber auch "händisch" Möglichkeiten, die u.U. sogar flexibler, da schneller anzupassen, sind. In der angefügten Calc-Tabelle sind zwei Spalten enthalten: eine mit den Zeichen, die ersetzt werden sollen, daneben das gewünschte Ersatzzeichen.

Nun kopiert man einfach den Text in die Zelle für den Ausgangstext und bekommst in der untersten Zelle das Ergebnis, das man wieder kopieren und z.B. als unformatierten Text in eine andere Calc-Tabelle oder ein Textdokument übernehmen kann.

Die Liste kann beliebig erweitert und die Formelzelle einfach nach unten kopiert werden.

SuE.ods

7. Siehe auch


KategorieWriter KategorieHowto


  1. Im Kapitel Suchen & Ersetzen von Vorlagen wird beschrieben, wie man allen per Suchen & Ersetzen gefundenen Textstellen AbsatzVorlagen zuordnen kann. Auf diesem Weg wäre es dann natürlich doch noch möglich, NummerierungsVorlagen zuzuweisen, die in AbsatzVorlagen hinterlegt sind. Die als normaler Text eingefügten Nummern könnte man anschließend wieder per Suchen & Ersetzen entfernen. (1)

  2. Ein Stern allein ist für OpenOffice.org noch kein Platzhalter-Zeichen. Er ist ein sogenannter Quantifizierer und bedeutet: das vor ihm stehende Zeichen soll beliebig oft (0-, 1- oder mehrmals) vorkommen. Oft benutzt man den Stern direkt nach einem Punkt, wobei der Punkt für ein beliebiges Zeichen, außer Zeilenumbruch (↲) oder Absatzwechsel (¶) steht. Ein Punkt gefolgt von einem Stern trifft also zu für: ein beliebiges Zeichen, das gar nicht oder beliebig oft vorkommen kann. Das würde einfach alles finden, ausgenommen Zeilenumbrüche und Absatzwechsel. Daher benutzt man den Ausdruck .* in der Regel auch nicht allein, sondern immer zusammen mit weiteren Einschränkungen.
    Die Zeichenfolge [^] hat die Bedeutung: jedes beliebige Zeichen außer de(n)mjenigen, das innerhalb der Klammern nach dem ^ steht. In unserem Fall sollen die Namen mit allen möglichen Erweiterungen - auch Satzzeichen - gefunden werden, erst wenn ein Leerzeichen kommt, ist Schluss, daher: [^ ]. (2)

  3. Bei meinen Tests hat sich ergeben, dass bei einer Kombinationssuche Suchbegriff+Format in normalem Text die Angabe des Formats schwarze Schrift genügte. In Fußnoten wurden die Einträge aber nur gefunden, wenn auch das Attribut-Feld aktiviert worden war. (3)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28