Vyzrajte nad řetězcovými proměnnými v ASP – zíkladní funkce
Při tvorbě webové aplikace se zcela jistě nevyhnete zpracování řetězcových proměnných. V tomto článku se dozvíte, jak vyzrát na řetězce nejenom v ASP, ale také třeba ve Visual Basic Scriptu na straně klienta.
Na úvod malé vysvětlení, co to vlastně řetězce jsou. Řetězec je několik ASCII znaků za sebou. Ve Visual Basic Scriptu se řetězce zapisují do uvozovek. Ve své podstatě je řetězec vlastně cokoliv, co je zapsáno mezi uvozovkami. Zvláštním případem řetězců je prázdný řetězec. Prázdný řetězec je řetězec, který neobsahuje žádný znak. A k čemu tedy řetězce slouží? Do řetězcových proměnných ukládáme textové informace – například e-mailovou adresu atd.
V dnešním článku se dozvíte o základních funkcích pro zpracování řetězců. Znalosti zde získané si v dalších dílech ještě prohloubíte.
Oříznutí řetězce
Při zpracování řetězce, který zadává uživatel, se často stává, že řetězec obsahuje mezery na začátku, na konci nebo dokonce z obou stran. Při zpracování je pak takové formátování řetězce na závadu. A jak si pomoci a řetězec si upravit do požadované podoby?
Od toho tu máme funkce Trim, LTrim a RTrim. Jak je již název funkcí napovídá, funkce LTrim ořízne mezery zleva a RTrim zprava. Funkce Trim ořízne mezery z obou stran:
|
Délka řetězce
Při zpracování řetězce často potřebujeme znát délku zadaného řetězce. Tento požadavek hravě splní funkce Len, která převezme jako parametr řetězec a vrátí jeho délku:
|
Příklad 1
V tomto příkladu máte možnost zadat do formuláře text a po odeslání formuláře obdržíte vložený text a délku vloženého textu:
|
<%if Request.Form("priklad")<>1 then%>
<%else response.write("Byl zadán řetězec : „&Request.Form(„text“)& „ a jeho delka je „&len(Request.Form(„text“))&“ znaků“) end if%>
Naplnění řetězce znakem
Visual Basic Script obsahuje funkce String a Space, které slouží k naplnění řetězce určitým počtem znaků či mezer.
|
Jak je již z názvů funkcí patrné, funkce Space naplní řetězec zadaným počtem mezer a funkce String naplní řetězec zadaným počtem zadaných znaků.
Kopie řetězce z řetězce
Pro zpracování a analýzy řetězců jsou mimo jiné určeny funkce Mid, Left a Right. Funkce Mid umožňuje z řetězce vykopírovat definovaný počet znaků od libovolné pozice:
|
Jak jste si jistě všichni, všimli parametr delka funkce Mid je nepovinný. Pokud tento parametr není uveden, funkce Mid vrací řetězec od zadané pozice až do konce analyzovaného řetězce.
Funkce Left vrací řetězec o zadané délce od počátku analyzovaného řetězce.
|
Funkce Right vrací řetězec o zadané délce od konce analyzovaného řetězce.
|
Funkce, která spočítá počet mezer v řetězci
Na závěr si ukážeme, jak využít funkce popsané v tomto článku k analýze a modifikaci zadaného řetězce. Pomocí funkce Len, Mid a za asistence cyklu For-Next postupně projdeme celým řetězcem a spočítáme mezery v řetězci:
|
<% function pocetmezer(retezec) dim delka,pozice,mezery delka = len(retezec) for pozice = 1 to delka if mid(retezec,pozice,1) = chr(32) then mezery = mezery+1 end if next pocetmezer = mezery end function Response.Write (PocetMezer("Active Server Pages and Visual Basic Scripting")) %>
Jak sami vidíte, funkce spočítá mezery a vrátí jejich počet. Nevěříte-li, zkuste si sami zadat text do formuláře.
<%if Request.Form("priklad")<>2 then%>
<%else response.write("Byl zadán řetězec : „&Request.Form(„text“)& „ a obsahuje „&pocetmezer(Request.Form(„text“))&“ mezer“) end if%>
A to je pro dnešek vše. A co nás čeká příště? Naučíme se hledat zadaný řetězec uvnitř zdrojového řetězce a dozvíte se také jak v řetězci nahradit řetězec jiným a také se naučíme odstranit zbytečné mezery z textu.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Fandíme českým sportovcům a rozdáváme hosting ZDARMA!
26. července 2024 -
Monitory OLED: klíčové pojmy a funkce
13. května 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024