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
-
Writer: Formatieren mit dem Modul Suchen&Ersetzen
-
Ein Dokument formatieren in 4 Schritten
- Erster Schritt: Die Artikelnummern werden zu eigenen Absätzen und erhalten eine Fettschrift sowie Abstände vor und nach dem Absatz
- Zweiter Schritt: Die Erläuterungen in eckigen Klammern werden zu Untertiteln
- Dritter Schritt: entfernen der eckigen Klammern
- Vierter Schritt: Einrückungen für die nummerierten Absätze
- Formatierungen austauschen
- Nach Attributen suchen oder nach Formaten?
- Siehe auch
-
Ein Dokument formatieren in 4 Schritten
- Writer, Calc: Suchen & Ersetzen von Formatvorlagen
- Writer, Calc: Zeilenschaltungen einfügen
- Sonderzeichen
-
Praxisbeispiele für die Anwendung regulärer Ausdrücke im Suchen&Ersetzen-Dialog
- Großbuchstaben
- Verschiedene Schreibweisen eines Wortes finden
- Suche mit wildcards: .*
- Beliebiges Zeichen bei fortlaufendem Text
- In einem Durchgang nach mehreren Begriffen suchen
- Störendes Textformat in einer Calc-Zahlenspalte
- Steuerzeichen
- Leerzeichen
- Geschützte Trennzeichen
- Siehe auch
- Absatzenden
- Siehe auch
- Tipps
- Siehe auch
1. Writer: Formatieren mit dem Modul Suchen&Ersetzen
|
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.
Inhaltsverzeichnis
-
Ein Dokument formatieren in 4 Schritten
- Erster Schritt: Die Artikelnummern werden zu eigenen Absätzen und erhalten eine Fettschrift sowie Abstände vor und nach dem Absatz
- Zweiter Schritt: Die Erläuterungen in eckigen Klammern werden zu Untertiteln
- Dritter Schritt: entfernen der eckigen Klammern
- Vierter Schritt: Einrückungen für die nummerierten Absätze
- Formatierungen austauschen
- Nach Attributen suchen oder nach Formaten?
- Siehe auch
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.
|
Der links stehende Text soll allein durch Bearbeiten → Suchen & Ersetzen das rechts dargestellte Aussehen bekommen. |
|
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
|
Regulärer Ausdruck |
|
|
Suchen nach |
|
|
Ersetzen durch |
|
|
Format |
|
|
Formatangaben |
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.
|
Regulärer Ausdruck |
|
|
Der Ausdruck: \[.*\] lässt sich so übersetzen: |
|
|
Ersetzen durch |
|
|
Formatanzeige |
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.
|
Regulärer Ausdruck |
|
|
Der Ausdruck: ^\[|\]$ lässt sich so übersetzen: |
|
|
Ersetzen durch |
|
|
Formatanzeige |
|
|
Kein Format |
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.
|
Regulärer Ausdruck |
|
|
Der Ausdruck: ([:digit:]+) lässt sich so übersetzen: Ein oder mehr Ziffern zwischen runden Klammern, gefolgt von einem Leerzeichen. |
|
|
Ersetzen durch |
|
|
Formatanzeige |
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.
|
Suchen nach |
|
|
Ersetzen durch |
|
|
Format |
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
|
2. Writer, Calc: Suchen & Ersetzen von Formatvorlagen
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: |
|
|
3. Writer, Calc: Zeilenschaltungen einfügen
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). Inhaltsverzeichnis
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. Dazu wird die Textspalte im Tabellendokument kopiert und als Formatierter Text [RTF] in ein Writer-Dokument eingefügt, wobei eine einspaltige WriterTabelle erzeugt wird. Mit Bearbeiten ? Suchen&Ersetzen wird der Doppelpunkt mit einem Absatzende ergänzt: Suchen nach Ersetzen durch Regulärer Ausdruck 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 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
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.
An den Textstellen, an denen später Zeilenschaltungen stehen sollen, werden zunächst Absatzenden eingefügt, siehe Beispiel im vorigen Abschnitt.
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.-
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
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.
Suchen und Ersetzen von:3.1. Beispiel Calc, Zeilenschaltungen in Tabellenzellen einfügen
ZeilenSchaltungen/SE010.png)
ZeilenSchaltungen/SE011.png)
ZeilenSchaltungen/SE012.png)
ZeilenSchaltungen/eins.png)
Nach dem Doppelpunkt steht noch ein Leerzeichen, damit dieses nicht am Anfang der neu zu erzeugenden Zeile landet.
ZeilenSchaltungen/zwei.png)
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.
ZeilenSchaltungen/drei.png)
Damit reguläre Ausdrücke verarbeitet werden, muss diese Option aktiviert werden.
ZeilenSchaltungen/SE013.png)
ZeilenSchaltungen/SE014.png)
3.2. Beispiel Writer, Zeilenschaltungen einfügen
3.2.1. Textzeilen in Tabelle übernehmen
3.2.2. Absatzenden einfügen
3.2.3. Writer-Tabelle kopieren
3.2.4. Tabelle in Calc-Dokument einfügen und zurück in den Writer kopieren
3.2.5. Text aus der Tabelle lösen
3.3. Siehe auch
/AbsatzEnden /Formatieren /ReguläreAusdrücke /Vorlagen /ZeilenSchaltungen
4. Sonderzeichen
4.1. Reguläre Ausdrücke
|
5. Praxisbeispiele für die Anwendung regulärer Ausdrücke im Suchen&Ersetzen-Dialog
5.1. Großbuchstaben
Aus dieser Zeichenkette: |
|
...soll diese sortierte Liste entstehen: |
|
Im ersten Schritt werden alle Wörter in separate Zeilen übernommen:
Markieren Sie die Zeichenkette. |
|
Der Reguläre Ausdruck [:upper:]? sucht (in Kombination mit der Option Exakte Suche) nach genau einem Großbuchstaben |
|
Im zweiten Schritt werden die einzelnen Begriffe alphabetisch sortiert:
Dazu werden die entstandenen Zeilen markiert und mit Extras → Sortieren in die richtige Reihenfolge gebracht. |
|
Im dritten Schritt werden die Absatzenden durch ein anderes Trennzeichen ersetzt:
Alle Zeilen der Liste markieren. |
|
$ 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. |
|
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 |
|
Der Reguläre Ausdruck Schif{1,2}.?fahrt trifft auf alle Zeichenketten zu, die
mit der Zeichenkette Schif oder Schiff beginnen, also das f mindestens ein Mal, aber höchstens zwei Mal enthalten ({1,2}), worauf
ein beliebiges Zeichen (.) genau null oder ein Mal folgt (?) und
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). |
|
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. |
|
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:]* |
|
liefert dieses Ergebnis |
|
Es werden Zeichenketten mit folgenden Eigenschaften gefunden:
Entweder ein beliebiges Zeichen des Alphabets (ohne Ziffern, Satzzeichen, Leerzeichen usw.) ([:alpha:]) beliebig oft (0, 1 oder mehrmals) (*), gefolgt von haus am Wortende (haus\>)
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: |
|
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 |
|
[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. |
|
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 |
|
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. |
|
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
|
5.11. Absatzenden
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. |
|
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: |
|
|
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.
7. Siehe auch
KategorieWriter KategorieHowto
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)
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)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)
Formatieren/SE000.png)
Formatieren/SE000a.png)
Formatieren/eins.png)
Formatieren/SE001.png)
Formatieren/zwei.png)
Formatieren/drei.png)
Formatieren/vier.png)
Formatieren/fuenf.png)
Formatieren/SE004.png)
Formatieren/SE005.png)
Formatieren/SE006.png)
Formatieren/SE007.png)
Regul(c3a4)reAusdr(c3bc)cke/reg03.gif)
Regul(c3a4)reAusdr(c3bc)cke/reg04.gif)
Regul(c3a4)reAusdr(c3bc)cke/reg12.gif)
Regul(c3a4)reAusdr(c3bc)cke/reg13.gif)
Regul(c3a4)reAusdr(c3bc)cke/reg14.gif)
AbsatzEnden/se.png)