VB.NET Substring-methode met VOORBEELD

Wat is een substring?

De substringfunctie 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 opgeven waaruit de string wordt geëxtraheerd. De String wordt uit die index geëxtraheerd tot de lengte die u opgeeft.

In deze tutorial leer je:

Syntaxis van subtekenreeks

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 trefwoord ByVal geeft pass-by-value aan, wat een mechanisme is voor het doorgeven van argumenten aan functies.
  • De start_Index is de index waaruit de subtekenreeks wordt verkregen
  • sub_length geeft de lengte aan waartoe de String uit de start_Index wordt gekopieerd. Deze lengte wordt gemeten in termen van het aantal tekens. De functie retourneert de geëxtraheerde subtekenreeks.

Voorbeelden

Stap 1) Maak een nieuwe consoletoepassing.

Stap 2) Voeg er de volgende code aan toe:

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

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 code:

  1. Een module maken met de naam Module1.
  2. Het starten van de hoofdsubprocedure.
  3. Het definiëren van een stringvariabele met de naam st en het toekennen van de waarde Guru99 eraan.
  4. Het definiëren van een stringvariabele genaamd 'subst' als een substring van de String 'st' uit index 0f en een lengte van 4 tekens.
  5. Een stukje tekst en de bovenstaande substring op de console afdrukken.
  6. Het consolevenster een tijdje pauzeren, wachtend tot de gebruiker actie onderneemt om het te sluiten.
  7. Einde van de hoofdsubprocedure.
  8. Einde van de module.

Eén argument

Wat als we slechts één argument doorgeven aan de functie? De functie kopieert alle gegevens in de String die begint met die index. Wat er gebeurt, is dat de functie Substring intern alle stringgegevens in die index kopieert, evenals de gegevens die op die index volgen. Bijvoorbeeld:

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

Klik op de Start-knop om de code uit te voeren. Het zou het volgende moeten retourneren:

De substringfunctie retourneerde 99. We hebben parameter 4 aan de functie doorgegeven, wat betekent dat deze de substring zal gaan extraheren uit het teken op index 4 tot aan het einde van de String. 9 is het teken op index 4 van de string Guru99, vandaar dat de extractie daar begon.

Middelste karakters

Het is ook mogelijk om de middelste tekens van de String in kwestie te krijgen. In dit geval hoeven we alleen de beginindex en de lengte van de String op te geven die we nodig hebben. In het volgende voorbeeld krijgen we een substring van de opgegeven String van index 2 en de String heeft een lengte van 2 tekens:

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

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 te beginnen met het extraheren van de subtekenreeks uit index 2, terwijl de tweede 2 de functie instrueert om een ​​subtekenreeks met een lengte van slechts 2 tekens te retourneren. Dit betekent dat de extractie van de substring moet beginnen vanaf het element dat zich bevindt op index 2 van de string Guru99, namelijk r. Omdat de geretourneerde substring slechts twee tekens lang mag zijn, zal de extractie niet verder gaan dan de 'u' en daarom 'ru' retourneren.

Eén Char

We kunnen de Substring-functie gebruiken om een ​​enkel teken uit een string te halen. In zo'n geval is het noodzakelijk dat u een toewijzing maakt, maar het teken kan direct worden benaderd. Dit is iets sneller. Het volgende voorbeeld laat twee manieren zien waarop we dit kunnen bereiken:

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

Klik op de Start-knop om de code uit te voeren. U krijgt het volgende resultaat:

We hebben de volgende code gebruikt:

Verklaring van code:

  1. Een module maken met de naam Module1.
  2. Het starten van de hoofdsubprocedure.
  3. Het definiëren van een stringvariabele met de naam st en het toekennen van de waarde Guru99 eraan.
  4. Het definiëren van een stringvariabele genaamd mid1 en het verkrijgen van het karakter op index 1 van String st. Dit teken wordt toegewezen aan de variabele mid1.
  5. Het bovenstaande karakter op de console afdrukken.
  6. Het definiëren van een stringvariabele genaamd mid2 en het verkrijgen van het karakter op index 1 met een lengte van 1 uit String st. De lengte van 1 betekent dat hetzelfde teken wordt geretourneerd bij de startindex. Het tellen begint vanaf de startindex die u opgeeft. Dit teken wordt toegewezen aan de variabele mid2.
  7. Het bovenstaande karakter op de console afdrukken.
  8. Het consolevenster een tijdje pauzeren, wachtend tot de gebruiker actie onderneemt om het te sluiten.
  9. Einde van de hoofdsubprocedure.
  10. Einde van de module.

Samenvatting

  • De functie Substring wordt gedefinieerd in de klasse String van Visual Basic.NET.
  • Het accepteert twee argumenten: het startpunt van de subtekenreeks en de lengte van de subtekenreeks.
  • We kunnen met deze argumenten spelen om verschillende sets subtekenreeksen uit de hoofdreeks te halen.