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

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

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 :)
Zuletzt geändert von der.matze am Di, 30.10.2012 21:08, insgesamt 2-mal geändert.
--
gruss matt

[AOO4.1.3; Win10pro]
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

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

[AOO4.1.3; Win10pro]
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

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

Beitrag von bst »

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
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

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?
--
gruss matt

[AOO4.1.3; Win10pro]
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

@ 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! :)
--
gruss matt

[AOO4.1.3; Win10pro]
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

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)
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

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?
--
gruss matt

[AOO4.1.3; Win10pro]
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

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

Beitrag von der.matze »

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.
--
gruss matt

[AOO4.1.3; Win10pro]
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

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

Beitrag von bst »

Auch nochmals Hallo,

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

cu, Bernd
Antworten