Wat is een subtekenreeks?
De substring-functie wordt gebruikt om een deel van een opgegeven string te verkrijgen. Deze methode is gedefinieerd in de String-klasse van Microsoft VB.NET. U moet de startindex specificeren waaruit de string zal worden geëxtraheerd. De tekenreeks wordt uit die index geëxtraheerd tot de lengte die u opgeeft.
In deze tutorial leer je
- Wat is een subtekenreeks?
- Syntaxis van substring
- Voorbeelden
- Een argument
- Middelste karakters
- Een Char
Syntaxis van substring
De functie accepteert twee argumenten, zoals weergegeven in de volgende syntaxis:
Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String
Hier,
- Het ByVal-sleutelwoord geeft pass-by-value aan, wat een mechanisme is om argumenten door te geven aan functies.
- De start_Index is de index waaruit de subtekenreeks wordt opgehaald
- sub_length geeft de lengte aan tot welke de String zal worden gekopieerd vanaf de start_Index. Deze lengte wordt gemeten in termen van het aantal karakters. De functie retourneert de geëxtraheerde subtekenreeks.
Voorbeelden
Stap 1) Maak een nieuwe consoletoepassing.
Stap 2) Voeg de volgende code eraan toe:
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
Stap 3) Klik op de Start-knop in de werkbalk om de code uit te voeren. U zou het volgende resultaat moeten krijgen:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Starten van de belangrijkste subprocedure.
- Een stringvariabele met de naam st definiëren en de waarde Guru99 eraan toewijzen.
- Een stringvariabele met de naam 'subst' definiëren als een substring van de String 'st' uit index 0f en een lengte van 4 tekens.
- Wat tekst en de bovenstaande substring afdrukken op de console.
- Het consolevenster een tijdje pauzeren, wachtend tot de gebruiker actie onderneemt om het te sluiten.
- Einde van de belangrijkste subprocedure.
- Einde van de module.
Een argument
Wat als we slechts één argument aan de functie doorgeven? De functie kopieert alle gegevens in de tekenreeks die begint met die index. Wat er gebeurt, is dat de functie Substring intern alle tekenreeksgegevens in die index kopieert, evenals de gegevens die op die index volgen. Bijvoorbeeld:
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
Klik op de Start-knop om de code uit te voeren. Het zou het volgende moeten retourneren:
De subtekenreeksfunctie heeft 99 geretourneerd. We hebben parameter 4 doorgegeven aan de functie, wat betekent dat het begint met het extraheren van de subtekenreeks van het teken op index 4 tot het einde van de tekenreeks. 9 is het teken op index 4 van de string Guru99, vandaar dat de extractie daar begon.
Middelste karakters
Het is voor ons ook mogelijk om de middelste karakters van de betreffende String te krijgen. In dit geval hoeven we alleen de startindex en de lengte van de string die we nodig hebben op te geven. In het volgende voorbeeld krijgen we een substring van de opgegeven String uit index 2 en de String heeft een lengte van 2 tekens:
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
Klik op de Start-knop in de werkbalk om de code uit te voeren. U krijgt het volgende resultaat:
In het bovenstaande voorbeeld retourneerde de subtekenreeksfunctie ru. We hebben de parameters (2, 2) doorgegeven aan de functie. De eerste 2 instrueert de functie om de extractie van de deelstring uit index 2 te beginnen, terwijl de tweede 2 de functie instrueert om een deelstring te retourneren met een lengte van slechts 2 tekens. Dit betekent dat de extractie van de deelstring moet beginnen vanaf het element dat zich op index 2 van de tekenreeks Guru99 bevindt, wat r is. Omdat de geretourneerde subtekenreeks slechts een lengte van 2 tekens mag hebben, zal de extractie niet voorbij de 'u' gaan, en daarom wordt 'ru' geretourneerd.
Een Char
We kunnen de functie Substring gebruiken om een enkel teken uit een string te halen. In dat geval is het een noodzaak voor u om een toewijzing te maken, maar het personage is direct toegankelijk. Dit gaat een beetje sneller. Het volgende voorbeeld laat twee manieren zien waarop we dit kunnen bereiken:
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
Klik op de Start-knop om de code uit te voeren. U krijgt het volgende resultaat:
We hebben de volgende code gebruikt:
Verklaring van de code:
- Een module maken met de naam Module1.
- Starten van de belangrijkste subprocedure.
- Een stringvariabele met de naam st definiëren en de waarde Guru99 eraan toewijzen.
- Definieer een stringvariabele met de naam mid1 en haal het karakter op index 1 van String st. Dit karakter wordt toegewezen aan de variabele mid1.
- Het bovenstaande teken afdrukken op de console.
- Definieer een stringvariabele met de naam mid2 en haal het teken op index 1 met een lengte van 1 uit String st. De lengte van 1 betekent dat hetzelfde teken bij de startindex wordt geretourneerd. Het tellen begint vanaf de startindex die u opgeeft. Dit karakter wordt toegewezen aan de variabele mid2.
- Het bovenstaande teken afdrukken op de console.
- Het consolevenster een tijdje pauzeren, wachtend tot de gebruiker actie onderneemt om het te sluiten.
- Einde van de belangrijkste subprocedure.
- Einde van de module.
Overzicht
- De functie Substring is gedefinieerd in de klasse String van Visual Basic.NET.
- Het accepteert twee argumenten, namelijk het beginpunt van de deelstring en de lengte van de deelstring.
- We kunnen met deze argumenten spelen om verschillende sets subtekenreeksen uit de hoofdreeks te halen.