Čo je to podreťazec?
Funkcia podreťazca sa používa na získanie časti zadaného reťazca. Táto metóda je definovaná v triede String v Microsoft VB.NET. Musíte určiť začiatočný index, z ktorého sa bude reťazec extrahovať. Reťazec sa z tohto indexu extrahuje až do dĺžky, ktorú určíte.
V tomto návode sa naučíte
- Čo je to podreťazec?
- Syntax podreťazca
- Príklady
- Jeden argument
- Stredné postavy
- Jeden znak
Syntax podreťazca
Funkcia prijíma dva argumenty, ako je uvedené v nasledujúcej syntaxi:
Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String
Tu,
- Kľúčové slovo ByVal označuje hodnotu pass-by-value, čo je mechanizmus prenosu argumentov do funkcií.
- Start_Index je index, z ktorého sa získa podreťazec
- sub_length označuje dĺžku, do ktorej sa bude reťazec kopírovať z parametra start_Index. Táto dĺžka sa meria ako počet znakov. Funkcia vráti extrahovaný podreťazec.
Príklady
Krok 1) Vytvorte novú konzolovú aplikáciu.
Krok 2) Pridajte do neho nasledujúci kód:
Module Module1Sub Main()Dim st As String = "Guru99"Dim subst As String = st.Substring(0, 4)Console.WriteLine("The substring is: {0}", subst)Console.ReadKey()End SubEnd Module
Krok 3) Kliknite na tlačidlo Štart na paneli nástrojov a vykonajte kód. Mali by ste dosiahnuť nasledujúci výsledok:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Spustenie hlavného čiastkového postupu.
- Definovanie reťazcovej premennej s názvom st a jej priradenie hodnoty Guru99.
- Definovanie reťazcovej premennej s názvom „subst“ ako podreťazca reťazca „st“ z indexu 0f a dĺžky 4 znakov.
- Tlač nejakého textu a vyššie uvedeného podreťazca na konzole.
- Pozastavenie okna konzoly na chvíľu a čakanie na to, ako užívateľ uzavrie okno.
- Koniec hlavného čiastkového postupu.
- Koniec modulu.
Jeden argument
Čo ak funkcii odovzdáme iba jeden argument? Funkcia skopíruje všetky údaje v reťazci, ktorý začína od tohto indexu. Čo sa stane, je to, že funkcia Substring interne kopíruje všetky údaje reťazca v danom indexe, ako aj údaje, ktoré nasledujú po tomto indexe. Napríklad:
Module Module1Sub Main()Dim st As String = "Guru99"Dim subst As String = st.Substring(4)Console.WriteLine("The substring is: {0}", subst)Console.ReadKey()End SubEnd Module
Kliknutím na tlačidlo Štart spustíte kód. Mal by vrátiť nasledujúce:
Funkcia podreťazca vrátila hodnotu 99. Funkcii sme odovzdali parameter 4, čo znamená, že začne extrahovať podreťazec zo znaku v indexe 4 na koniec reťazca. 9 je znak v indexe 4 reťazca Guru99, a preto sa tam začala extrakcia.
Stredné postavy
Je tiež možné, aby sme dostali stredné postavy daného reťazca. V takom prípade musíme uviesť iba počiatočný index a dĺžku reťazca, ktoré potrebujeme. V nasledujúcom príklade získavame podreťazec zadaného reťazca z indexu 2 a reťazec bude mať dĺžku 2 znaky:
Module Module1Sub Main()Dim st As String = "Guru99"Dim subst As String = st.Substring(2, 2)Console.WriteLine("The substring is: {0}", subst)Console.ReadKey()End SubEnd Module
Kliknutím na tlačidlo Štart na paneli nástrojov spustíte kód. Získate nasledujúci výsledok:
Vo vyššie uvedenom príklade funkcia podreťazca vrátila ru. Funkcii sme odovzdali parametre (2, 2). Prvá 2 dáva funkcii pokyn na začatie extrakcie podreťazca z indexu 2, zatiaľ čo druhá 2 dáva funkcii pokyn, aby vrátila podreťazec s dĺžkou iba 2 znaky. To znamená, že extrakcia podreťazca by mala začať od prvku umiestneného na indexe 2 reťazca Guru99, čo je r. Pretože vrátený podreťazec by mal mať iba dĺžku 2 znakov, extrakcia neprejde okolo znaku „u“, a preto vrátila výraz „ru“.
Jeden znak
Pomocou funkcie Substring môžeme získať jeden znak z reťazca. V takom prípade je nevyhnutné vykonať pridelenie, ale k znaku je možné získať priamy prístup. To je o niečo rýchlejšie. Nasledujúci príklad ukazuje dva spôsoby, ako to dosiahnuť:
Module Module1Sub Main()Dim st As String = "Guru99"Dim mid1 As Char = st(1)Console.WriteLine(mid1)Dim mid2 As String = st.Substring(1, 1)Console.WriteLine(mid2)Console.ReadKey()End SubEnd Module
Kliknutím na tlačidlo Štart spustíte kód. Získate nasledujúci výsledok:
Použili sme nasledujúci kód:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Spustenie hlavného čiastkového postupu.
- Definovanie reťazcovej premennej s názvom st a jej priradenie hodnoty Guru99.
- Definovanie reťazcovej premennej s názvom mid1 a získanie znaku v indexe 1 reťazca st. Tento znak bude priradený premennej mid1.
- Tlač vyššie uvedeného znaku na konzole.
- Definovanie reťazcovej premennej s názvom mid2 a získanie znaku na indexe 1 s dĺžkou 1 z reťazca st. Dĺžka 1 znamená, že na začiatku indexu vráti rovnaký znak. Počítanie začína od počiatočného indexu, ktorý určíte. Tento znak bude priradený premennej mid2.
- Tlač vyššie uvedeného znaku na konzole.
- Pozastavenie okna konzoly na chvíľu a čakanie na to, ako užívateľ uzavrie okno.
- Koniec hlavného čiastkového postupu.
- Koniec modulu.
Zhrnutie
- Funkcia Substring je definovaná v triede String jazyka Visual Basic.NET.
- Prijíma dva argumenty, ktoré sú východiskovým bodom podreťazca a dĺžkou podreťazca.
- S týmito argumentmi sa môžeme pohrať a získať z hlavného reťazca rôzne sady podreťazcov.