Co je podřetězec?
Funkce podřetězce se používá k získání části zadaného řetězce. Tato metoda je definována ve třídě String Microsoft VB.NET. Musíte určit počáteční index, ze kterého bude řetězec extrahován. Řetězec bude extrahován z tohoto indexu až do délky, kterou určíte.
V tomto výukovém programu se naučíte
- Co je podřetězec?
- Syntaxe podřetězce
- Příklady
- Jeden argument
- Prostřední postavy
- Jeden znak
Syntaxe podřetězce
Funkce přijímá dva argumenty, jak je znázorněno v následující syntaxi:
Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String
Tady,
- Klíčové slovo ByVal označuje předávací hodnotu, což je mechanismus předávání argumentů funkcím.
- Start_Index je index, ze kterého bude získán podřetězec
- sub_length označuje délku, do které bude řetězec zkopírován z start_Index. Tato délka se měří z hlediska počtu znaků. Funkce vrátí extrahovaný podřetězec.
Příklady
Krok 1) Vytvořte novou konzolovou aplikaci.
Krok 2) Přidejte do ní následující 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) Klepnutím na tlačítko Start na panelu nástrojů spustíte kód. Měli byste získat následující výsledek:
Použili jsme následující kód:
Vysvětlení kódu:
- Vytváření modulu s názvem Module1.
- Zahájení hlavního dílčího postupu.
- Definování řetězcové proměnné s názvem st a přiřazení hodnoty Guru99 k ní.
- Definování řetězcové proměnné s názvem „subst“ jako podřetězce řetězce „st“ z indexu 0f a délky 4 znaků.
- Tisk textu a výše uvedeného podřetězce na konzole.
- Pozastavením okna konzoly na chvíli čekáte, než uživatel zavře okno.
- Konec hlavního dílčího postupu.
- Konec modulu.
Jeden argument
Co když funkci předáme pouze jeden argument? Funkce zkopíruje všechna data v řetězci, který začíná od tohoto indexu. Co se stane, je to, že funkce Substring interně kopíruje všechna data řetězce v tomto indexu i v tom, co za tímto indexem následuje. Napří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
Kód spustíte kliknutím na tlačítko Start. Mělo by vrátit následující:
Funkce podřetězce vrátila 99. Funkci jsme předali parametr 4, což znamená, že začne extrahovat podřetězec ze znaku v indexu 4 na konec řetězce. 9 je znak v indexu 4 řetězce Guru99, odtud tedy začala extrakce.
Prostřední postavy
Je také možné, abychom získali prostřední postavy daného řetězce. V tomto případě musíme uvést pouze počáteční index a délku řetězce, který potřebujeme. V následujícím příkladu získáváme podřetězec zadaného řetězce z indexu 2 a řetězec bude mít délku 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
Klepnutím na tlačítko Start na panelu nástrojů spustíte kód. Získáte následující výsledek:
Ve výše uvedeném příkladu funkce podřetězce vrátila ru. Funkci jsme předali parametry (2, 2). První 2 instruuje funkci, aby zahájila extrakci podřetězce z indexu 2, zatímco druhá 2 instruuje funkci, aby vrátila podřetězec s délkou pouze 2 znaků. To znamená, že extrakce podřetězce by měla začít od prvku umístěného na indexu 2 řetězce Guru99, což je r. Vzhledem k tomu, že vrácený podřetězec by měl mít délku pouze 2 znaků, extrakce nepůjde kolem znaku „u“, a proto vrátil „ru“.
Jeden znak
Můžeme použít funkci Substring k získání jednoho znaku z řetězce. V takovém případě je nutné provést přidělení, ale ke znaku lze přistupovat přímo. To je o něco rychlejší. Následující příklad ukazuje dva způsoby, jak toho dosáhnout:
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
Kód spustíte kliknutím na tlačítko Start. Získáte následující výsledek:
Použili jsme následující kód:
Vysvětlení kódu:
- Vytváření modulu s názvem Module1.
- Zahájení hlavního dílčího postupu.
- Definování řetězcové proměnné s názvem st a přiřazení hodnoty Guru99 k ní.
- Definování řetězcové proměnné s názvem mid1 a získání znaku v indexu 1 řetězce St. Tento znak bude přiřazen proměnné mid1.
- Tisk výše uvedeného znaku na konzole.
- Definování řetězcové proměnné s názvem mid2 a získání znaku na indexu 1 o délce 1 ze String st. Délka 1 znamená, že na začátku indexu vrátí stejný znak. Počítání začíná od počátečního indexu, který určíte. Tento znak bude přiřazen proměnné mid2.
- Tisk výše uvedeného znaku na konzole.
- Pozastavením okna konzoly na chvíli čekáte, než uživatel zavře okno.
- Konec hlavního dílčího postupu.
- Konec modulu.
souhrn
- Funkce Substring je definována ve třídě String v jazyce Visual Basic.NET.
- Přijímá dva argumenty, což je výchozí bod podřetězce a délka podřetězce.
- S těmito argumenty si můžeme pohrát a získat různé sady podřetězců z hlavního řetězce.