users  

Re: [de-users] [CALC] wie Zeichen in RegEx maskieren?

Wolfgang Jäth
Tue, 09 Feb 2010 09:33:45 -0800

Am 09.02.2010 13:28, schrieb Werner Tietz:
> 
>> wie kann man in Calc beim Suchen (z. B. in SVERWEIS) Zeichen maskieren?
>> 
>> Ich bräuchte die runden Klammern als *Text* innerhalb eines
>> RegEx-Ausdruckes. Normalerweise (aka von anderen Engines) kenne ich das
>> '\' als Maskierungszeichen; aber unter Calc scheint das nicht zu klappen.
> 
> Hier funktioniert das Maskieren mittels \backslash vor literalen
> Klammerzeichen im Suchausdruck.

Sorry; ich hatte einen Denkfehler. Erklärung s. u.

> Hast du unter -->Extras-->Optionen-->OOocalc--Berechnen '[x]reguläre
> Ausdrücke in Formeln erlauben' angehakt?

Ja, natürlich; ohne das würde bei mir eine ganze Menge anderer Dinge gar 
nicht funktioniern ... ;-)

> Falls ja, mail mal eine konkrete Sverweisformel mit dem Suchausdruck und
> eine paar Beispielsdaten in denen der Begriff gefunden werden soll.

Ich hab es mit folgenden Testdaten versucht (wobei 'FF (4)' das Format ist,
das ich letztendlich benötige):

Suchvektor      Ergebnisvektor  Formel  Ergebnis
AA      1       =SVERWEIS(A2; $A$2:$B$11; 2; 0) 1
BB      2       =SVERWEIS(A3; $A$2:$B$11; 2; 0) 2
CC <1>  3       =SVERWEIS(A4; $A$2:$B$11; 2; 0) 3
DD {2}  5       =SVERWEIS(A5; $A$2:$B$11; 2; 0) 5
EE [3]  6       =SVERWEIS(A6; $A$2:$B$11; 2; 0) #NV
FF (4)  7       =SVERWEIS(A7; $A$2:$B$11; 2; 0) #NV
GG \(5\)        8       =SVERWEIS(A8; $A$2:$B$11; 2; 0) #NV
HH /(6/)        9       =SVERWEIS(A9; $A$2:$B$11; 2; 0) #NV
II      10      =SVERWEIS(A10; $A$2:$B$11; 2; 0)        10

Aber mir ist beim Lesen Deiner Antwort aufgegangen, woran es hakt: Da das 
Suchmuster selbst mehr oder minder direkt aus dem Suchvektor stammt, 
*kann* das das Maskieren so nicht funktionieren. Da hab ich immer entweder 
die Kombination 'FF (4)' und 'FF 4', oder 'FF \(4\)' und 'FF (4)'. 

Die Maskierung darf aber nur (und muss genau) *einmal* erfolgen. D. h. 
ich darf in SVERWEIS nicht direkt nach 'A7' suchen, sondern muss statt 
dessen nach 'WECHSELN (WECHSELN (A7; "("; "\("); ")";"\)")' suchen. 

Gerade ausprobiert, funktioniert wie gewünscht (ist allerdings nicht 
gerade elegant; vielleicht find ich ja noch einen hypscheren Ausdruck ... 
<g>). 

Danke fürs (wenn auch unbewusst) mit der Nase darauf stoßen. ;-))

Wolfgang
-- 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org