Vědět víc - vzdělávací portál pro zvídavé


Operace a funkce pro práci s řetězci

Slide

Jelikož jsou řetězce velmi často používané, je na ně většina programovacích jazyků velmi dobře připravena. V každém jazyce pro ně existuje řada užitečných funkcí. 

  • Deklarace – i v případě řetězců slouží deklarace k tomu, aby mohl počítač (program) určit, kolik místa v paměti potřebuje pro data. Stejně jako u jiných proměnných používáme příkaz DIM, například: 
    • DIM Jmeno AS STRING 
    • DIM Kratky AS STRING*8
      Ve druhém případě deklarujeme řetězec o délce 8 znaků 
  • Skládání řetězců (anglicky concatenation) - zde používáme znak +, pomocí kterého “lepíme” řetězce za sebe 
  • Rozdělení řetězců (přesněji řečeno zkrácení řetězce na jeho část) - zde máme na výběr z několika funkcí, které nám s naší prací pomohou:
    • LEFT$ - funkce vrací určitý počet znaků zleva, například
    • LEFT$(Jmeno,3)
      vrátí první tři znaky z proměnné Jmeno (proměnná Jmeno musí být pochopitelně typu STRING; pokud není, skončí volání chybou)
    • RIGHT$ - pro změnu vrací určitý počet znaků zprava
    • MID$ - vrací určitý počet znaků, které se nacházejí uvnitř řetězce, například
    • MID$(Jmeno, 2, 3) 
      vrací 3 znaky počínaje pozicí 2 v řetězci
  • Úpravy řetězce - mezi nejčastější patří převod na (všechna) velká či (všechna) malá písmena. K tomuto účelu existují funkce:
    • LCASE$ - převede (nahradí) všechna písmena jejich malou variantou (L je od slova lower case, tedy malý znak)
    • UCASE$ - převede (nahradí) všechna písmena jejich velkou variantou (U je od slova upper case)
  • Odstranění okrajových mezer – to může být velmi užitečná funkce. Uživatelé (a nejen oni) nám totiž při zadávání dat mohou poměrně dost zatopit. Uživatel nevidí, že zadal na začátek slova mezeru (nebo dvě či tři) navíc, ale počítač to vidí a může takto zadaná data zpracovávat chybně. Proto máme nástroje, jak to napravit:
    • LTRIM$ - ořízne všechny mezery (a další “bílé” znaky) zleva 
    • RTRIM$ - ořízne všechny mezery zprava
  • Délka řetězce - máme-li “nekonečný” řetězec, může se nám hodit informace, jak je ve skutečnosti opravdu dlouhý (většina řetězců totiž nemá 32 tisíc znaků). Hodí se to například v případě, že chceme řetězec projít a najít v něm konkrétní znaky. Projít 50 znaků bude trvat podstatně kratší dobu než procházení 32 tisíc znaků.
    • LEN – funkce vrací délku řetězce ve znacích 

Na tomto místě je dobré upozornit na jednu konvenci, která pochází již ze BASICového pravěku. Funkce, které končí znakem $ vrací string, zatímto funkce, které tímto znakem nekončí vrací číslo.