Regularni izrazi in Calc

From Apache OpenOffice Wiki
Jump to: navigation, search


Uvod

Enostavno rečeno so regularni izrazi pameten način iskanja besedila.


Tipično uporabljamo regularne izraze za iskanje besedila; če želite npr. poiskati vse celice, ki vsebujejo besedo gospod ali gospa v svoji preglednici, bi lahko iskali z enim samim regularnim izrazom.

Regularni izrazi v modulih Calc in Writer

Regularni izrazi v modulu Calc so na voljo na več mestih:

  • Uredi - pogovorno okno Najdi in zamenjaj
  • Podatki - Filtriraj - Standardni filter oz. Napredni filter
  • Pri določenih funkcijah, kot sta SUMIF in LOOKUP

Najboljši način učenja regularnih izrazov v programu Calc je proučevanje in uporabljanje z Najdi in zamenjaj. To je podrobneje popisano v kakOOojčku 'Regularni izrazi in Writer', ki bi ga morali prebrati.


V programu Calc se regularni izrazi uveljavijo ločeno na vsako celico. (Videli boste, da se v programu Writer regularni izrazi izvajajo ločeno na vsakem odstavku.) Torej iskanje 'r.s' najde 'res' v celici A1, ne pa tudi 'r' v celici A2 z 's' (ali 'es') v celici A3. (Regularni izraz 'r.s' pomeni 'poskusi najti 'r', ki mu sledi nek drug znak, ki mu sled 's' ').

Regularni izrazi v funkcijah modula Calc

V modulu Calc je vrsta funkcij, ki podpirajo uporabo regularnih izrazov:
'SUMIF', 'COUNTIF',
'MATCH', 'SEARCH', 'LOOKUP', 'HLOOKUP', 'VLOOKUP',
'DCOUNT', 'DCOUNTA', 'DSUM', 'DPRODUCT',
'DMAX', 'DMIN', 'DAVERAGE', 'DSTDEV', 'DSTDEVP', 'DVAR', 'DVARP',
'DGET'


Ali naj bodo regularni izrazi dovoljeni, izberete v pogovornem oknu Orodja - Možnosti - OpenOffice.org Calc - Izračuni:


izbor uporabe regularnih izrazov v funkcijah Calc


Primer: '=COUNTIF(A1:A6;"r.s")' z izbrano možnostjo "V formulah omogoči regularne izraze", bo preštel celice v obsegu A1:A6, ki vsebujejo 'res' in 'RIS'.


Če poleg tega možnost "Iskalna pogoja = in <> morata biti uporabljena za cele celice" ni potrjena, bodo pri štetju šteli tudi 'oris', 'tresk' in 'Rosa'. Če je to polje potrjeno, ga lahko overcome s preoblikovanjem izraza na naslednji način: '=COUNTIF(A1:A6;".*r.s.*")'.


regularni izraz v funkciji COUNTIF


Iskanje z regularnimi izrazi znotraj funkcij je vedno neobčutljivo na velikost črk, ne glede na nastavitev potrditvenega polja "Razlikuj velike in male črke" v zgornjem pogovornem oknu - zato bosta 'res' in 'RIS' vedno zadetka v zgornjem primeru. Ta neobčutljivost na velikost črk velja tudi za strukturi regularnih izrazov ([:lower:]) in ([:upper:]), ki se ujemata z znaki ne glede na njihovo velikost. Oglejte si zadevo 7100 za širšo predstavo.

Regularni izrazi ne delujejo za enostavne primerjave. Primer: ' A1="r.s" ' vedno vrne FALSE, če A1 vsebuje 'res', čeprav so regularni izrazi omogočeni - TRUE vrne le, če A1 vsebuje 'r.s' ('r', nato pika, nato 's'). Če želite preizkusiti rabo regularnih izrazov, poskusite funkcijo 'COUNTIF' - 'COUNTIF(A1; "r.s")' vrne '1' ali '0', interpretirani kot TRUE ali FALSE v formulah kot je '=IF(COUNTIF(A1; "r.s");"juhuhu"; "buuuu")'

Če vklopite nastavitev "V formulah omogoči regularne izraze", bodo v vseh zgornjih funkcijah morali posebne znake regularnih izrazov (kot je oklepaj), ki jih uporabljate v nizih v formulah, "opremiti" s predstoječo levo poševnico, Čeprav niso del regularnega izraza. Leve poševnice je potrebno odstraniti, če kasneje to nastavitev izključite.

Regularni izrazi pri Najdi in zamenjaj modula Calc

Najdi in zamenjaj v modulu Calc je zelo podoben Najdi in zamenjaj v modulu Writer, kot je opisano v kakOOojčku 'Regularni izrazi in Writer'. Za uporabnike programa Calc so zanimivi naslednji poudarki:


  • Ko iskanje najde zadetek, je cela celica prikazana poudarjeno, zamenjano pa bo le najdeno besedilo. Primer: iskanje 'rjavo' poudari celico, ki vsebuje 'temnorjavo kapo', z zamenjavo z ničemer ostane v celici 'temno kapo'.


  • Če Najdi uporabite dvakrat v vrstici, drugič z aktivirano možnostjo "Samo trenutni izbor", bo drugo iskanje ovrednotilo celoto vsake izbrane celice, ne le najdene nize, ki so povzročili, da so ob prvem iskanju celice izbrane. Primer: iskanje 'jani?', nato aktiviranje "Samo trenutni izbor" in iskanje 'kr.lj' poišče celice, ki vsebujejo Jan Kralj in Kruljič, Jani.


  • Če celica vsebuje trdi prelom vrstice (vnesete ga s Ctrl+Enter), ga lahko poiščete z '\n'. Primer: če celica vsebuje 'res trdi_prelom_vrstice pika', z iskanjem 's\npi' in zamenjavo z ničemer v celici dobite 'reka'.


  • Trdi prelomi vrstice delujejo kot oznake za "konec besedila", kot ga prepozna posebni znak regularnih izrazov '$' (poleg seveda dejanskega konca besedila v celici). Primer: če celica vsebuje 'res trdi_prelom_vrstice pika', potem iskanje 's$' z zamenjavo z 'ka' v celici dobimo 'reka trdi_prelom_vrstice pika'. Kot vidite, s tovrstno skladnjo trdega preloma vrstice ne morete zamenjati - ta preprosto označuje konec besedila.


  • Če uporabite '\n' v polju 'Zamenjaj z', boste najdeno zamenjali z dejanskima znakoma '\n', ne s prelomom vrstice.


  • Pogovorno okno Najdi in zamenjaj ponuja možnost, da lahko preiščete 'Formule', 'Vrednosti' ali 'Opombe'. To velja za poljubno iskanje, ne le za takšno z regularnimi izrazi. Iskanje z izbiro 'Formule' najde 'SUM' v celici, ki vsebuje formulo '=SUM(A1:A6)'. Če celica vsebuje besedilo namesto funkcije, bo besedilo še vedno lahko zadetek iskanja - enostavno besedilo 'SUMATRA' v celici bi pomenilo zadetek pri iskanju 'SUM' z izbiro 'Formule'.


  • Iskanje z regularnim izrazom '^$' ne najde praznih celic. To je namenoma - da bi se izognili težavam izvajanja pri izboru velikega števila celic. Upoštevajte, da prazne celice ne bodo najdene, tudi če preiskujete le v izboru.


  • Če v polje Išči vnesete '.+' (ali podobno), v polje Zamenjaj z pa '&', dejansko ponovno vnesete vsebino celic. Na ta način lahko 'očistite' oblikovanje, ki ga je samodejno uveljavil program Calc (pogosto potrebno za 'čiščenje' podatkov, uvoženih iz odložišča ali slabo oblikovanih datotek), npr. za pretvorbo besedilnih nizov, ki jih sestavljajo števke, v dejanska števila (celice je najprej potrebno oblikovati kot 'število'). Vodilni opuščaji, ki modulu Calc narekujejo obravnavo številk kot besedila, so odstranjeni.
Personal tools
In other languages