[GELÖST] Ganze Zelle ersetzen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

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

[GELÖST] Ganze Zelle ersetzen

Beitrag von der.matze »

Hi, hab eigentlich vermutet, dass das Problem schonmal jemand hatte - aber da mir die Suche nach mehreren Versuchen zu o.G. immer sagt 'ignoriert: zelle' probier ich es mal hier.
Wenn ich nur zu dumm bin, die Suche zu bedienen, sind Hinweise dazu sehr willkommen ;)

Also: Ich suche nach Substrings und möchte die jeder Zelle, in der diese gefunden werden, den kompletten Inhalt ersetzen. Hab das mit regulären Ausdrücken probiert und versagt. Mein vielversprechendster Versuch dabei war dies:

Code: Alles auswählen

[.*[\n]*.*]*SUBSTRING[.*[\n]*.*]*
(..in den Zellen gibt es Zeilenumbrueche)

Jemand ne Idee, woran es scheitert?

EDIT:
Kurze Frage Anbei:
Hab den Suchstring jetzt zumindest mal gekürzt auf

Code: Alles auswählen

[\n*.*]*SUBSTRING[\n*.*]*
Das sollte -meiner Meinung nach- das Gleiche machen.

Warum aber stürzt OOo ab, wenn ich die eckigen Klammern durch runde ersetze?

Code: Alles auswählen

(\n*.*)*SUBSTRING(\n*.*)*
Zuletzt geändert von der.matze am Mo, 17.02.2014 14:40, insgesamt 1-mal geändert.
--
gruss matt

[AOO4.1.3; Win10pro]
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Ganze Zelle ersetzen

Beitrag von clag »

Moin der.matze,

da hast du ein paar zuviel reguläre Ausdrücke ins Spiel gebracht :)
weniger ist manchmal mehr

als Suchstring [.*Teilstring.*]
Ersetzen durch [Der komplett neue String]
und unter Mehr Option_ [✔]Reguläre Ausdruck den Haken setzen

sollte deinen Wunsch erfüllen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
der.matze
**
Beiträge: 37
Registriert: Do, 30.09.2010 18:01

Re: Ganze Zelle ersetzen

Beitrag von der.matze »

clag hat geschrieben:[...]
als Suchstring [.*Teilstring.*]
Ersetzen durch [Der komplett neue String]
und unter Mehr Option_ [✔]Reguläre Ausdruck den Haken setzen

sollte deinen Wunsch erfüllen
Hi clag,
leider funktioniert das nicht. Das hatte ich bereits getestet, weshalb ich das mit den \n-Umbrüchen eingebaut hatte.
In deinem Beispiel werden Zeilenumbrüche innerhalb der Zellen nicht berücksichtigt, sprich wenn der Zelleninhalt so aussieht:

Code: Alles auswählen

blabla
substring
blublub
..ist das Ergebnis der Ersetzung:

Code: Alles auswählen

blabla
neuer string
blublub
Bin für weitere Vorschläge offen ;)
--
gruss matt

[AOO4.1.3; Win10pro]
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Ganze Zelle ersetzen

Beitrag von clag »

Hallo der.matze,

dann verwende diesen

Suchstring [(.*[:cntrl:])*.*Teilstring.*([:cntrl:].*)*]

um zB mehrzeilige Zelleninhalte zu ersetzen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Ganze Zelle ersetzen

Beitrag von Karolus »

Hallo
Hier funktioniert der Suchausdruck
^(.|\n)*suchtext(.|\n)*$

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: Ganze Zelle ersetzen

Beitrag von der.matze »

clag hat geschrieben:Hallo der.matze,

dann verwende diesen

Suchstring [(.*[:cntrl:])*.*Teilstring.*([:cntrl:].*)*]

um zB mehrzeilige Zelleninhalte zu ersetzen
YEAH - läuft! DANKE!

Liegt das daran, dass da noch mehr Sonderzeichen (resp. Kontrollzeichen) 'versteckt' sind und [:cntrl:] alle Abgreift? Das ist aber OpenOffice-spezifisch, oder besitzt das allgemeine Gültigkeit bei regulären Ausdrücken?
Kannst du mir, wo du sie ja verwendet hast, evtl auch erklären, warum das Program bei meiner Variante mit den runden Klammern abstürzt?

Danke nochmal :)
--
gruss matt

[AOO4.1.3; Win10pro]
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: [GELÖST] Ganze Zelle ersetzen

Beitrag von lorbass »

der.matze hat geschrieben:Das ist aber OpenOffice-spezifisch, oder besitzt das allgemeine Gültigkeit bei regulären Ausdrücken?
Die diversen RegEx-Engines verfügen zwar über gewisse Kern-Konstrukte, die allen Implementierungen gemein sind, driften darüber hinaus aber insbesondere, was die Vollständigkeit der Implementierungen betrifft, mehr oder weniger zügig auseinander. POSIX-RegEx sind was anderes als Perl-RegEx, Apache OpenOffice hat eine andere RegEx-Engine als LibreOffice (→ viewtopic.php?f=2&t=62415&p=236291#p236291), RegEx in Scintilla / SciTE und dem darauf aufbauenden Notepad++ sind wieder ganz was anderes, usw. usf.

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

Re: [GELÖST] Ganze Zelle ersetzen

Beitrag von der.matze »

lorbass hat geschrieben:
der.matze hat geschrieben:Das ist aber OpenOffice-spezifisch, oder besitzt das allgemeine Gültigkeit bei regulären Ausdrücken?
Die diversen RegEx-Engines verfügen zwar über gewisse Kern-Konstrukte, die allen Implementierungen gemein sind, driften darüber hinaus aber insbesondere, was die Vollständigkeit der Implementierungen betrifft, mehr oder weniger zügig auseinander. POSIX-RegEx sind was anderes als Perl-RegEx, Apache OpenOffice hat eine andere RegEx-Engine als LibreOffice (→ viewtopic.php?f=2&t=62415&p=236291#p236291), RegEx in Scintilla / SciTE und dem darauf aufbauenden Notepad++ sind wieder ganz was anderes, usw. usf.

Gruß
lorbass
Wooohhh :D Das mit den Implementierungen war mir zwar klar, neu ist mir aber, das es da selbst zwischen LibreOffice und OpenOffice bereits Unterschiede gibt. Darüber hinaus war mir die Verbindung zwischen Scintilla / SciTE und Notepad++ bisher nicht bekannt, obwohl ich das Eine nutze, und das Andere aktuell sogar noch verwende :D
Beim POSIX RegEx geh ich aber mal davon aus, dass es vollständig ist :) Danke für die Antwort!
--
gruss matt

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

Re: [GELÖST] Ganze Zelle ersetzen

Beitrag von Karolus »

Hallo
Das mit den Implementierungen war mir zwar klar, neu ist mir aber, das es da selbst zwischen LibreOffice und OpenOffice bereits Unterschiede gibt.
Die gab es auch nur temporär - weil LibreOffice inzwischen die von Herbert Duerr/Apache für AOO adaptierte ICU-RegExEngine übernommen hat. Nachzulesen hier unter dem Titel: Options General

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten