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.
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:
A következő kódot használtuk:
Magyarázat Code:
- Modul1 nevű modul létrehozása.
- A fő aleljárás indítása.
- Egy st nevű karakterláncváltozó definiálása és érték hozzárendelése Guru99 rá.
- Egy 'subst' nevű karakterláncváltozó definiálása az 'st' karakterlánc 0 indexű, 4 karakter hosszú részkarakterláncaként.
- Néhány szöveg és a fenti részkarakterlánc nyomtatása a konzolon.
- A konzolablak szüneteltetése egy időre, amíg a felhasználó bezárja a műveletet.
- A fő aleljárás vége.
- 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:
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:
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:
A következő kódot használtuk:
Magyarázat Code:
- Modul1 nevű modul létrehozása.
- A fő aleljárás indítása.
- Egy st nevű karakterláncváltozó definiálása és érték hozzárendelése Guru99 rá.
- 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.
- A fenti karakter kinyomtatása a konzolon.
- 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.
- A fenti karakter kinyomtatása a konzolon.
- A konzolablak szüneteltetése egy időre, amíg a felhasználó bezárja a műveletet.
- A fő aleljárás vége.
- 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.






