Difference between revisions of "Documentation/SL/How Tos/Regularni izrazi in Calc"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Regularni izrazi v funkcijah modula Calc)
(Regularni izrazi v funkcijah modula Calc)
Line 67: Line 67:
  
 
Regularni izrazi ne delujejo za enostavne primerjave. Primer:
 
Regularni izrazi ne delujejo za enostavne primerjave. Primer:
' <b>A1="r.s"</b> ' vedno vrne '''FALSE''', če A1 vsebuje '<b>res</b>', čeprav so regularni izrazi omogočeni - '''TRUE''' vrne le, če A1 vsebuje '<b>r.s</b>' ('<b>r</b>', nato <b>pika</b>, nato '<b>s</b>'). Če želite preizkusiti rabo regularnih izrazov, poskusite funkcijo '<b>COUNTIF</b>' - '<b>COUNTIF(A1; "r.s")</b>' vrne '<b>1</b>' ali '<b>0</b>', interpretirani kot '''TRUE''' ali '''FALSE''' v formulah kot je '<b>=IF(COUNTIF(A1; "r.s");"hooray"; "boo")</b>'
+
' <b>A1="r.s"</b> ' vedno vrne '''FALSE''', če A1 vsebuje '<b>res</b>', čeprav so regularni izrazi omogočeni - '''TRUE''' vrne le, če A1 vsebuje '<b>r.s</b>' ('<b>r</b>', nato <b>pika</b>, nato '<b>s</b>'). Če želite preizkusiti rabo regularnih izrazov, poskusite funkcijo '<b>COUNTIF</b>' - '<b>COUNTIF(A1; "r.s")</b>' vrne '<b>1</b>' ali '<b>0</b>', interpretirani kot '''TRUE''' ali '''FALSE''' v formulah kot je '<b>=IF(COUNTIF(A1; "r.s");"juhuhu"; "buuuu")</b>'
  
 
Č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.
 
Č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.

Revision as of 10:04, 20 July 2008


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 'joh?n', nato aktiviranje "Samo trenutni izbor" in iskanje 'sm.th' poišče celice, ki vsebujejo Jon Smith in Smythers, Johnathon.


  • Če celica vsebuje trdi prelom vrstice (vnesete ga s Ctrl+Enter), this may be found by '\n'. For example if a cell contains 'red hard_line_break clay' then searching for 'd\nc' and replacing with nothing leaves the cell containing 'relay'.


  • Trdi prelomi vrstice delujejo kot oznake za "konec besedila", kot ga razume posebni znak regularnih izrazov '$' (poleg seveda dejanskega konca besedila v celici). Primer: če celica vsebuje 'red trdi_prelom_vrstice clay', potem iskanje 'd$' z zamenjavo z 'al' v celici leaves the cell with 'real hard_line_break clay'. Note that with this syntax the hard line break is not replaced - it simply marks the end of text.


  • Using '\n' v polju 'Zamenjaj z' will replace with the literal characters '\n', ne z trdim 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 zadetek iskanja - so that the simple text 'SUMMARY' in a cell would also give a match to 'SUM' z izbiro 'Formule'.


  • Searching for the regular expression '^$' will not find empty cells. This is intentional - the rationale being to avoid performance issues when selecting a huge number of cells. Note that empty cells will not be found even if you are only searching a selection.


  • Find '.+' (or similar) and Replace with '&' effectively re-enters the contents of cells. This can be used to 'strip' formatting automatically applied by Calc (often needed to 'clean' data imported from the clipboard or badly formatted files), for example, to convert text strings consisting of digits, into actual numbers (the cells must first be correctly formatted 'number'). The leading apostrophes, telling Calc to treat the numbers as text, are removed.
Personal tools
In other languages