[UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in Calc?

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: [UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in Calc?

Re: [UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in C

von bst » Mi, 31.10.2012 10:27

Auch nochmals Hallo,

Möglicherweise geht das ja in die richtige Richtung? viewtopic.php?f=2&t=56603#p213261

cu, Bernd

Re: [UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in C

von der.matze » Di, 30.10.2012 23:41

Hi,

Zum Einen ist die Liste noch nicht komplett, zum Anderen würde mir ne Erklärung an dieser vorher¦nachher Beispiel-Liste schon reichen.

Re: [UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in C

von Karolus » Di, 30.10.2012 23:36

Hallo
Ja, dann per Makro aber dazu bräuchte man mal deine Wortliste nebst Ersetzungliste.
Am besten in der Form:

Code: Alles auswählen

vorher1|nachher1
vorher2|nachher2
usw.
Da hat man nicht soviel Arbeit das in eine passende Datenstruktur zu wandeln.

Karolus

Re: [Gelöst!] Freeze durch Suchen&Ersetzen mit RegExp in Cal

von der.matze » Di, 30.10.2012 21:06

Hallo nochmal, ich habe grad nochmal darüber nachgedacht, und festgestellt, dass es doch nicht so funktioniert, wie ich es gern hätte.
Bei der Variante, die Wörter alle durch Pips zu trennen, also wort1|wort2|...|... kann ich ja jedesmal nur durch den gleichen Begriff ersetzen lassen.
Sorry, meine Schuld - ich hab zu ungenau beschrieben, was ich meinte:
Ich möchte für Wort1 zum Beispiel ABC ersetzen, aber für Wort2 XYZ. Also immer etwas Anderes.
Hier vermute ich allerdings, dass nicht mit RegExp lösen zu können (Hab sicherhalthalber nochmal auf der o.g. Seite geschaut, aber dort auch nichts passendes gefunden).

Hier hilft dann wohl echt nur ein Makro, oder? Aber wie kann cih das Aufzeichnen, wenn sich die Wörter doch immer ändern?

Re: [Gelöst!] Freeze durch Suchen&Ersetzen mit RegExp in Cal

von Karolus » Di, 30.10.2012 18:33

Hallo
Zumindest kenne ich keine Möglichkeit, lasse mich aber gerne erleuchten
1.(Einmalig) Unter →Extras→Autokorrektur unter einem Kürzel eintragen.
später:
2. in einer Calczelle das Kürzel eingeben →Enter → Zelle kopieren (strg+c)
3. →S&E im suchfeld (Strg+v)

Re: Bekanntes Problem mit RegExp in Calc? Freeze bei Suchen

von der.matze » Di, 30.10.2012 15:31

@ Gast - habe grad mal einen Dummydatensatz erstellt, aber bei dem klappt es bei mir auch - evtl lag es doch an den Daten. Dennoch finde ich es eleganter einen einwandfreien Ausdruck zu verwenden ;)
Karolus hat geschrieben:Hallo

Code: Alles auswählen

(.|\n)*(WORT|ANDERES_WORT|Montag|Dienstag|spam|42)(.|\n)*
findet alle "Wörter" in der mittleren Klammergruppe.
( Bst hat dir übrigens eine gute Seite verlinkt da kann man das relativ leicht selbst herausfinden )
[...]
Danke, sowas meinte ich. Dazu hätte ich garnich auf diese Seite gehen müssen, den regulaeren Ausdruck dazu haette ich auch noch selbst hinbekommen, allerdings hab ich wohl etwas zu ausholend gedacht, und bin nicht auf die Idee gekomen, das ich das ja auch direkt mit dem Ausdruck machen kann.

Danke allen Hilfespendenden! :)

Re: Bekanntes Problem mit RegExp in Calc? Freeze bei Suchen

von Karolus » Di, 30.10.2012 15:10

Hallo

Code: Alles auswählen

(.|\n)*(WORT|ANDERES_WORT|Montag|Dienstag|spam|42)(.|\n)*
findet alle "Wörter" in der mittleren Klammergruppe.
( Bst hat dir übrigens eine gute Seite verlinkt da kann man das relativ leicht selbst herausfinden )
Gast hat geschrieben:Wenn du immer wieder dieselben Worte und Begriffe automatisch ändern willst sehe ich keine andere Möglichkeit als ein Makro.
Ach - wirklich ... siehe oben

Karolus

Re: Bekanntes Problem mit RegExp in Calc? Freeze bei Suchen

von der.matze » Di, 30.10.2012 14:32

bst hat geschrieben:[...]

Code: Alles auswählen

(.|\n)*(WORT)(.|\n)*
[...]
Hi Bernd, und vielen Dank fuer die Korrektur, damit geht es (bin nicht sehr erfahren in RegExp, daher auch danke fuer die Site :))

@Gast
Fand die andere Loesung besser, und hab diese zuerst getestet. Da es funktioniert, habe ich an meinen Verzeichnissen nichts geaendert und werde ich die Datei nicht hochladen (der Fehler lag ja offensichtlich bei mir ;))

Abschliessend noch eine Frage:
Gibt es eine Möglichkeit, ohne Markos mehrere Such(&Ersetz)-Anfragen nacheinander abarbeiten zu lassen?
Also statt jedes mal

Code: Alles auswählen

(.|\n)*(WORT)(.|\n)* und dann ALT+R (Alle Ersetzen) und dann wieder (.|\n)*(ANDERES_WORT)(.|\n)* ... ALT+R ... usw
.. kennt da wer ne Moeglichkkeit?

Re: Bekanntes Problem mit RegExp in Calc? Freeze bei Suchen

von bst » Di, 30.10.2012 09:31

Hi,
(.*\n.*)*WORT(.*\n.*)*
möglicherweise erzeugst Du durch Dein ** dass Du da ja im Prinzip hast ein 'unendliches Backtracking'. D.h. Calc stürzt vielleicht gar nicht ab sondern benötigt für diesen Ausdruck nur extrem viel Zeit...

Siehe: http://www.regular-expressions.info/catastrophic.html

Nimm ein 'vernünftigeres' Suchmuster, dann sollte das nicht passieren.

Code: Alles auswählen

(.|\n)*(WORT)(.|\n)*
cu, Bernd

Re: Bekanntes Problem mit RegExp in Calc? Freeze bei Suchen

von der.matze » Mo, 29.10.2012 20:43

sry, vergessen: Installiert hab ich Apache OOo 3.4.1 auf Win7pro,32-bit (komplett gepatched), core2duo, 2gb ram,

[UnGelöst!] Freeze durch Suchen&Ersetzen mit RegExp in Calc?

von der.matze » Mo, 29.10.2012 20:06

Hi,

wollte mal fragen, ob es ein bekanntes Problem ist, das Calc sich bei manchen regulaeren Ausdruecken aufhaengt, oder ob das nur bei mir so ist.

Hab 4 Spalten (Datum, Datum, kurzer Text, Betrag in EUR) und ca. 500 Eintraege (resp. Zeilen).

Ich habe nun nach Folgendem gesucht:

Code: Alles auswählen

(.*\n.*)*WORT(.*\n.*)*
Da in den 'kurzen Texten' in Spalte 3 gelegentlich sowas steht wie:
blablabla
blablaWORTblabla
blablablabla
blabla

oder aber auch

WORTbla
blablablablabla
bla
bla
bla

-> Halt alles in einer Zelle. Diese Inhalte moechte ich gern komplett ersetzen, also das nicht nur Wort, sondern auch alles blabla ersetzt wird.

Das funktioniert soweit auch ganz gut mit dem RegExp oben, aber sobald der Begriff einmal ersetzt wurde, haeng sich das Programm auf..
Das kann doch eigentlich nur ein Bug sein, oder ist mein Ausdruck falsch?

Danke schonmal :)

Nach oben