VB.NET részkarakterlánc-módszer PÉLDÁVAL

⚡ Okos összefoglaló

VB.Net alkarakterlánc pl.tracEgy String egy részét vizsgálja egy kezdő index és egy opcionális hossz megadásával. A String osztályba tartozó metódus nullától számolja a karaktereket, és egy vadonatúj Stringet ad vissza az eredeti módosítása nélkül.

  • 🔢 Nulla alapú index: A Substring metódus a 0. indextől számolja a karaktereket, így a String első betűje a nulla pozícióban található.
  • ☑️ Két túlterhelés: Egy argumentum átadása az indextől kezdődő összes értéket visszaadja, míg két argumentum átadása egy fix számú karaktert.
  • ✂️ Extract pozíció szerint: Kombináld a Substring függvényt az IndexOf vagy a LastIndexOf függvénnyel, hogy egy adott karakter előtti vagy utáni szöveget rögzíts.
  • ⚠️ Biztonságos indexelés: Egy negatív vagy tartományon kívüli index ArgumentOutOfRangeException kivételt dob, ezért a metódus meghívása előtt ellenőrizd az értékeket.
  • 🔤 Megváltoztathatatlan eredmény: A Substring egy új karakterláncot ad vissza, és a forrás karakterláncot változatlanul hagyja, összhangban a .NET karakterláncok megváltoztathatatlanságával.
  • 🤖 AI segítség: GitHub Copilot és IntelliCode A Visual Studio 2026-ban a program helyes Substring hívásokat javasol, és a tartományon kívüli indexeket jelöli gépelés közben.

VB.Net részkarakterlánc

Mi az a részkarakterlánc?

A Substring függvény egy megadott karakterlánc egy részének lekérésére szolgál. Ez a metódus a String osztályban van definiálva. Microsoft VB.NetMeg kell adnia a kezdőindexet, ahonnan a karakterlánc ki lesz számítva.tracted. A String ex lesztracettől az indextől a megadott hosszig terjed.

Volt előtttracSzöveg írásakor hasznos megérteni a Substring metódus által várt szintaxist.

A részkarakterlánc szintaxisa

A függvény két argumentumot fogad el a következő szintaxis szerint:

Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String

Itt,

  • A ByVal kulcsszó átadási értéket jelöl, amely az argumentumok függvényeknek való átadásának mechanizmusa.
  • A start_Index az az index, amelyből a részkarakterláncot lekérjük.
  • A sub_length azt a hosszt jelöli, ameddig a karakterlánc másolásra kerül a start_Indexből. Ez a hossz karakterek számában van megadva. A függvény a következő ex értéket adja vissza:tracted alkarakterlánc.

A kezdő index nulla alapú, tehát a karakterlánc első karaktere a 0. pozícióban található az 1. pozíció helyett.

A definiált szintaxissal a következő példák a Substring metódus működését mutatják be egy konzolalkalmazásban.

Példák

1. lépés) Hozz létre egy új konzolalkalmazást.

2. lépés) Adja hozzá a következő kódot:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(0, 4)

        Console.WriteLine("The substring is: {0}", subst)

        Console.ReadKey()
    End Sub

End Module

3. lépés) Kattintson az eszköztár Start gombjára a kód végrehajtásához. A következő eredményt kell kapnia:

VB.Net részkarakterlánc-kimenet példa

A következő kódot használtuk:

VB.Net alkarakterlánc kód példa

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás indítása.
  3. Egy st nevű karakterláncváltozó definiálása és érték hozzárendelése Guru99 rá.
  4. Egy 'subst' nevű karakterláncváltozó definiálása az 'st' karakterlánc 0 indexű, 4 karakter hosszú részkarakterláncaként.
  5. Néhány szöveg és a fenti részkarakterlánc nyomtatása a konzolon.
  6. A konzolablak szüneteltetése egy időre, amíg a felhasználó bezárja a műveletet.
  7. A fő aleljárás vége.
  8. A modul vége.

Egy érv

Mi van, ha csak egy argumentumot adunk át a függvénynek? A függvény átmásolja az összes adatot a Stringben, amely az adott indextől kezdődik. Ami történik, az az, hogy a Substring függvény belsőleg másolja az adott index összes karakterláncadatát, valamint az indexet követő adatokat is. Például:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(4)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Kattintson a Start gombra a kód futtatásához. A következőt kell visszaadnia:

VB.Net alkarakterlánc egy argumentummal

A Substring függvény 99-et adott vissza. Átadtuk a 4-es paramétert a függvénynek, ami azt jelenti, hogy elkezd kiértékelnitract a 4-es indexű karaktertől a karakterlánc végéig tartó részkarakterlánc. A 9 a karakterlánc 4-es indexű karaktere. Guru99, innen ered az extracció ott kezdődött.

Az egyetlen indexből történő vágás mellett a Substring metódus a karakterlánc közepén lévő karaktereket is célozhatja.

Középső karakterek

Az is lehetséges, hogy a szóban forgó String középső karaktereit megkapjuk. Ebben az esetben csak a kezdő indexet és a szükséges karakterlánc hosszát kell megadnunk. A következő példában a megadott String részkarakterláncát kapjuk a 2. indexből, és a String 2 karakter hosszú lesz:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(2, 2)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Kattintson a Start gombra az eszköztáron a kód futtatásához. A következő eredményt kapod:

VB.Net Alkarakterlánc középső karakterei

A fenti példában a Substring függvény az ru értéket adta vissza. Átadtuk a (2, 2) paramétereket a függvénynek. Az első 2 utasítja a függvényt az ex megkezdésére.traca 2-es indexű részkarakterlánc kinyerésére utasítja a függvényt, míg a második 2-es index egy csak 2 karakter hosszú részkarakterlánc visszaadására utasítja a függvényt. Ez azt jelenti, hogy az extracAz alkarakterlánc feldolgozásának a karakterlánc 2. indexénél található elemtől kell kezdődnie. Guru99, ami r. Mivel a visszaadott részkarakterláncnak csak 2 karakter hosszúnak kell lennie, az extracA tion nem fog az 'u'-n túlmenni, ezért 'ru'-t ad vissza.

Egy Char

A Substring függvényt használhatjuk arra, hogy egy karakterláncból egyetlen karaktert kapjunk. Ebben az esetben szükség van egy kiosztásra, de a karakter közvetlenül elérhető. Ez egy kicsit gyorsabb. A következő példa két módszert mutat be, amelyeken keresztül ezt elérhetjük:

Module Module1
    Sub 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 Sub

End Module

Kattintson a Start gombra a kód futtatásához. A következő eredményt kapod:

VB.Net alkarakterlánc egyetlen karakter kimenet

A következő kódot használtuk:

VB.Net alkarakterlánc egykarakteres kód

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás indítása.
  3. Egy st nevű karakterláncváltozó definiálása és érték hozzárendelése Guru99 rá.
  4. A mid1 nevű karakterlánc-változó meghatározása és a String st 1. indexének karakterének lekérése. Ez a karakter a mid1 változóhoz lesz hozzárendelve.
  5. A fenti karakter kinyomtatása a konzolon.
  6. A mid2 nevű karakterlánc-változó definiálása és az 1-es indexű karakter 1-es hosszúságú lekérése a String st-ből. Az 1-es hosszúság azt jelenti, hogy ugyanazt a karaktert adja vissza a kezdő indexnél. A számlálás az Ön által megadott kezdő indextől kezdődik. Ez a karakter a mid2 változóhoz lesz hozzárendelve.
  7. A fenti karakter kinyomtatása a konzolon.
  8. A konzolablak szüneteltetése egy időre, amíg a felhasználó bezárja a műveletet.
  9. A fő aleljárás vége.
  10. A modul vége.

Miután kényelmesen érezted magad az exeddeltracAlkarakterláncok használatakor érdemes tudni, hogyan kell kezelni a metódus által okozott hibákat.

Gyakori alkarakterlánc-hibák és azok elkerülése

A Substring metódus szigorú az átadott értékeket illetően. Amikor egy argumentum kívül esik a String határain, a VB.Net egy ArgumentOutOfRangeException kivételt dob, és futásidőben leállítja a programot. A szabályok megértése segít elkerülni ezt a gyakori hibát.

A metódus három esetben generál kivételt:

  • A start_Index egy negatív szám.
  • A start_Index nagyobb, mint a karakterlánc hossza.
  • A start_Index és a sub_length összege a karakterlánc vége után.

Gyakori hiba az IndexOf függvény eredményének előzetes ellenőrzés nélküli felhasználása. Amikor az IndexOf nem találja a karaktert, -1 értéket ad vissza, és a -1 átadása a Substringnek kivételt vált ki. A következő kód véd ez ellen:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"
        Dim pos As Integer = st.IndexOf("9")

        If pos >= 0 Then
            Dim subst As String = st.Substring(pos)
            Console.WriteLine(subst)
        Else
            Console.WriteLine("Character not found")
        End If

        Console.ReadKey()
    End Sub

End Module

Az index hívás előtti validálása biztosítja az alkalmazás zökkenőmentes működését, még akkor is, ha a bemeneti karakterlánc nem tartalmazza a várt karaktert.

Alkarakterlánc beolvasása egy karakter előtt vagy után

Egy gyakori feladat pl.tracegy adott karakter előtt vagy után megjelenő szöveg módosítása, például egy e-mail cím szétválasztása a @ jelnél. A VB.Net nem biztosít erre külön függvényt, de az IndexOf és a Substring kombinálásával elérhető.

Szöveg a karakter előtt: Hívja meg az IndexOf függvényt a karakter megkereséséhez, majd adja át ezt az indexet hosszként a Substring függvénynek:

Module Module1
    Sub Main()

        Dim email As String = "guru99@example.com"
        Dim position As Integer = email.IndexOf("@")

        Dim namePart As String = email.Substring(0, position)
        Console.WriteLine(namePart)

        Console.ReadKey()
    End Sub

End Module

A kód kinyomtatja a guru99-et, a karakterlánc @ jel előtti részét.

Szöveg egy karakter után: adjunk hozzá 1-et az indexhez, és hagyjuk, hogy a Substring a String végéig fusson:

Dim domainPart As String = email.Substring(position + 1)
Console.WriteLine(domainPart)

Ez az example.com webhelyet adja vissza. Ha egy karakter egynél többször szerepel, az IndexOf helyett a LastIndexOf paramétert kell használni, hogy az utolsó előfordulástól kezdje az első helyett.

Substring vs. Left, Right és Mid függvények

A Visual Basic három régi karakterláncfüggvényt örököl a korábbi verziókból: Left, Right és Mid. Ezek a MicrosoftA .VisualBasic névtér ismerősebbnek tűnhet a klasszikus VB-ről érkező fejlesztők számára.

  • Balra(sztring, n) egy karakterlánc első n karakterét adja vissza.
  • Jobbra(sztring, n) egy karakterlánc utolsó n karakterét adja vissza.
  • Mid(karakterlánc, kezdet, hossz) A Substringhez hasonlóan egy kiindulási pozícióból származó részt ad vissza.

A fő különbség a pozíciók számlálásában rejlik. A Mid függvény egyes alapú, tehát az első karakter az 1-es pozícióban van, míg a Substring metódus nulla alapú, és 0-tól kezdi a számolást. A Substring a standard .NET megközelítés, és minden .NET nyelven ugyanúgy viselkedik, ezért az új kódhoz ajánlott választás. A Left, Right és Mid függvényeket a régebbi Visual Basic projektek fenntartásához tartsuk fenn.

GYIK

Igen. A Substring metódus nulla alapú, tehát a String első karaktere a 0. indexen, a második az 1. indexen található, és így tovább. A nullától való számolás fontos a kezdőpozíció kiszámításakor.

Nem. A VB.Net-ben a karakterláncok megváltoztathatatlanok, így a Substring metódus soha nem módosítja az eredeti karakterláncot. Egy vadonatúj karakterláncot ad vissza, amely tartalmazza az ex értéket.tracted karakterek, míg a forrás karakterlánc változatlanul hagyja eredeti értékét.

Alkarakterlánc, példáultracEgy karakterlánc egy folytonos részét jelöli index és hossz használatával. Hasított A karakterláncot kisebb karakterláncok tömbjére bontja, ahol elválasztójel, például vessző vagy szóköz szerepel. Listákhoz használd a Split, szeletekhez pedig a Substring függvényt.

A 0 hossz megadása egy üres karakterláncot ("") ad vissza, nem pedig semmit. A hívás érvényes és nem okoz kivételt, feltéve, hogy a kezdő index továbbra is a karakterlánc határain belül van.

A Substring metódus megőrzi a megadott karakterlánc részét, a többit pedig elveti. A Remove metódus az ellenkezőjét teszi: egy adott indextől kezdődő karaktereket törli, és a megmaradt karakterláncot adja vissza. Ezek kiegészítő műveletek.

Igen. A szóközök, tabulátorok és írásjelek egy-egy karakternek számítanak, amikor a Substring metódus kiszámítja a kezdő indexet és a hosszt. A karakterlánc minden pozíciója, beleértve a szóközöket is, a darabszám részét képezi, nem csak a látható betűk.

Igen. GitHub másodpilóta A Visual Studio 2026-ban egy egyszerű angol megjegyzést, például az ex-t, a következőre cserél.traca vessző előtti szöveget egy működő Substring hívásba konvertálva az IndexOf függvény segítségével. Mindig ellenőrizd a generált indexeket, hogy megbizonyosodj arról, hogy a tartományon belül maradnak.

Igen. A Visual Studio 2026 párosítja a GitHub Copilotot a következővel: InteliCode a valószínűsíthetően tartományon kívüli indexek megjelöléséhez, helyes argumentumok javaslatához és a Substring hívások végrehajtásához gépelés közben, helping A program futtatása előtt megakadályozod az ArgumentOutOfRangeException kivételt.

Foglald össze ezt a bejegyzést a következőképpen: