Suchen und Ersetzen: Punktzeichen in Sätzen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Suchen und Ersetzen: Punktzeichen in Sätzen

Re: Suchen und Ersetzen: Punktzeichen in Sätzen

von wb74 » Do, 28.08.2008 14:23

Hallo zusammen,

Der Tipp von Christian hat bestens funktioniert, genau das habe ich benötigt!!! HERZLICHEN DANK!!!

Wolfgang hat bezüglich dem Klammerpaar recht: Ein Klammerpaar = eine Referenz = $1. Falls es zwei Referenzen gäbe wurde noch ein Klammerpaar mehr stehen, d.h. erstes Klammerpaar = $1, zweites Klammerpaar = $2 usw. wobei es egal ist, ob vor, zwischen oder nach den Klammerpaaren noch etwas steht.

Die Markierung "\" = "hebt die Bedeutung von Meta-Zeichen auf, wenn es vor diese gesetzt wird, also z.B. \+ für ein wörtlich gemeintes Plus-Zeichen", d.h. in unserem Fall: der Punkt "." soll wirklich als Punkt verstanden werden.

Grüsse

Re: Suchen und Ersetzen: Punktzeichen in Sätzen

von chrk » Do, 28.08.2008 14:14

Sanne hat geschrieben:Wir haben doch zwei Teile (richtig?):
den Punkt und die Kombination Space+Kleinbuchstabe.
Jein.
Der Punkt ist nicht geklammert und hat damit keine eigene Referenz. Aus dem Stehgreif kann ich das mit den RegEx auch nicht, deshalb habe ich mich herangetastet, indem ich erst zwei Klammern verwendet habe. Aber, warum zwei Variablen verschwenden, wenn ich nur eine brauche? - Also habe ich die eine Klammerung weggelassen und dann auf die einzige ($1) referenziert.
Sanne hat geschrieben:die Zählung beginnt bei 0?
Nein, $0 ist "alles", also der gesamte Suchstring. Vergleiche:
OOo 2.4.1 Hilfe hat geschrieben:& oder $0
Fügt die Zeichenfolge, die durch die Suchkriterien im Feld Suchen nach gefunden wurde, zu dem Begriff im Feld Ersetzen durch hinzu, wenn Sie die Ersetzung durchführen.
Wenn Sie in Suchen nach zum Beispiel "Fenster" und in Ersetzen durch "&rahmen" eingeben, wird das Wort "Fenster" durch "Fensterrahmen" ersetzt.
Außerdem können Sie mit dem Ausdruck "&" im Feld Ersetzen durch die Attribute oder das Format des durch die Suchkriterien gefundenen Suchbegriffs ändern.
wolle2000 hat geschrieben:Hallo Sanne,
könnte es sein, dass es nur eine Referenz gibt? Es gibt ja nur ein rundes Klammerpaar.
Exakt. Siehe oben.
Was ich hingegen nicht verstehe, ist der "maskierte" Punkt. Was bedeutet das?
Der maskierte Punkt \. sagt dem RegEx, dass ich nach einem Punkt suche (literal), sonst ist der Punkt Quantisierer für ein Vorkommen des Zeichens vor dem Punkt.

Re: Suchen und Ersetzen: Punktzeichen in Sätzen

von chrk » Do, 28.08.2008 13:43

Sanne hat geschrieben:Oder ist das mit den Referenzen eine funktion, die neu in 2.4 hinzugekommen ist? - ich arbeite noch mit 2.3 (Linux)
Gut dass Du drauf hinweist.

Ja, die $-Referenzen sind erst in 2.4 hinzugekommen, vorher gab es nur das & für den gesamten String, vgl. http://www.oooninja.com/2008/03/new-fea ... g-240.html (Überblick) und http://www.oooninja.com/2007/12/backref ... s-new.html.

Für das & kann man ab 2.4 auch $0 verwenden.

Re: Suchen und Ersetzen: Punktzeichen in Sätzen

von chrk » Do, 28.08.2008 13:30

Spezialist vielleicht nicht, aber getüftelt habe ich trotzdem:
Suche nach:

Code: Alles auswählen

\.([:space:]?[:lower:].)
X Groß-/Kleinschreibung
X Regulärer Ausdruck

Ersetze durch: Der Punkt wird maskiert \. und der Rest als Referenz in runde Klammern gesetzt, um sie im Ersetzen-Feld zu verwenden. Das [:lower:]. sucht ein einzelnes kleingeschriebenes Zeichen, mit Fragezeichen würden beliebig viele (auch null) kleingeschriebene gefunden, also alle Punkt-Leerzeichen-Buchstaben-Kombinationen.

Re: Suchen und Ersetzen: Punktzeichen in Sätzen

von wb74 » Do, 28.08.2008 11:19

Lieber Wolfgang,

Danke für die Antwort. Da habe ich beim ersten Beispiel zu weit gesucht...es geht manchmal wirklich einfacher als man es sich dies vorstellt. Für das zweite Probleme warte ich mal ab, ob die Spezialisten einige Tipps haben.

Grüsse

Suchen und Ersetzen: Punktzeichen in Sätzen

von wb74 » Do, 28.08.2008 10:23

Guten Tag allerseits,

Ich bearbeite momentan verschiedene eingescannte und mit OCR umgewandelte Dokumente. Im OCR schleichen sich nun Fehler ein (verursacht i.d.R. durch nicht 100%-ige saubere Scans).
So wiederholt sich folgender Fehler, den ich nicht immer von Hand korrigieren möchte:

1. "Diesen Fall finde .ich sehr interessant",
2. oder "Das Gehirn. lässt sich folgendermassen unterteilen:"

D.h. es werden Punkte in die Sätze eingebaut, die eigentlich nicht vorhanden sein sollten.
Meine Absicht ist es nun, all diese Punkte mit der Suchen-und-Ersetzen-Funktion in einem Rutsch (d.h. ich möchte nicht jeden Punkt einzeln suchen und ersetzen lassen) zu löschen. Hierbei muss wohl für das erste und das zweite Beispiel eine unterschiedliche Suchstrategie eingegeben werden. Ausserdem wird das Ersetzen beim zweiten Beispiel schwierig werden, wenn der Anfangsbuchstabe des nach dem Punkt und Leerzeichen folgende Wort ein Grossbuchstabe ist ("Der Vogel am. Himmel fliegt schnell."), ist die Suchstrategie des zweiten Beispiels sehr wahrscheinlich auf Wörter mit Kleinbuchstaben zu beschränken, weil ansonsten auch die korrekt gesetzten Endpunkte gelöscht werden ("Der Vogel am. Himmel fliegt schnell. Die Spitzengeschwindigkeit beträgt ungefähr 80km/h.").

Hat jemand einen Tipp?

Danke im Voraus - wb

Nach oben