VB.NET-delstrengmetode med EKSEMPEL

Hva er en understreng?

Delstrengfunksjonen brukes til å få en del av en spesifisert streng. Denne metoden er definert i String-klassen til Microsoft VB.NET. Du må spesifisere startindeksen som strengen skal trekkes ut fra. Strengen vil bli trukket ut fra den indeksen opp til lengden du angir.

I denne opplæringen lærer du

Syntaks for understreng

Funksjonen godtar to argumenter som vist i følgende syntaks:

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

Her

  • ByVal-nøkkelordet angir pass-by-value, som er en mekanisme for å sende argumenter til funksjoner.
  • Start_Index er indeksen som delstrengen vil bli hentet fra
  • sub_length angir lengden opp til som strengen vil bli kopiert fra start_Index. Denne lengden måles i form av antall tegn. Funksjonen vil returnere den utpakkede delstrengen.

Eksempler

Trinn 1) Opprett en ny konsollapplikasjon.

Trinn 2) Legg til følgende kode:

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

Trinn 3) Klikk på Start-knappen fra verktøylinjen for å utføre koden. Du bør få følgende resultat:

Vi har brukt følgende kode:

Forklaring av kode:

  1. Opprette en modul kalt Module1.
  2. Starter hovedunderprosedyren.
  3. Definere en strengvariabel kalt st og tilordne verdien Guru99 til den.
  4. Definere en strengvariabel kalt 'subst' som en understreng av strengen 'st' fra indeks 0f og en lengde på 4 tegn.
  5. Skriver ut litt tekst og understrengen ovenfor på konsollen.
  6. Setter konsollvinduet på pause en stund mens du venter på at brukeren skal gjøre noe for å lukke det.
  7. Slutt på hoveddelprosedyren.
  8. Slutt på modulen.

Ett argument

Hva om vi sender bare ett argument til funksjonen? Funksjonen vil kopiere alle dataene i strengen som starter fra den indeksen. Det som skjer er at Substring-funksjonen internt kopierer alle strengdataene på den indeksen så vel som den som følger den indeksen. For eksempel:

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

Klikk på Start-knappen for å kjøre koden. Den skal returnere følgende:

Delstrengfunksjonen returnerte 99. Vi sendte parameter 4 til funksjonen, noe som betyr at den vil begynne å trekke ut delstrengen fra tegnet ved indeks 4 til slutten av strengen. 9 er tegnet i indeks 4 av strengen Guru99, derav startet utvinningen der.

Mellomste tegn

Det er også mulig for oss å få de midterste tegnene til den aktuelle strengen. I dette tilfellet trenger vi bare å oppgi startindeksen og lengden på strengen vi trenger. I følgende eksempel får vi en understreng av den angitte strengen fra indeks 2, og strengen vil ha en lengde på 2 tegn:

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

Klikk på Start-knappen fra verktøylinjen for å kjøre koden. Du vil få følgende resultat:

I eksemplet ovenfor returnerte delstrengfunksjonen ru. Vi sendte parameterne (2, 2) til funksjonen. Den første 2 instruerer funksjonen til å begynne utvinningen av delstrengen fra indeks 2, mens den andre 2 instruerer funksjonen om å returnere en delstreng med en lengde på kun 2 tegn. Dette betyr at ekstraksjonen av delstrengen skal begynne fra elementet som ligger ved indeks 2 av strengen Guru99, som er r. Siden den returnerte delstrengen bare skal ha en lengde på 2 tegn, vil ikke ekstraksjonen gå forbi 'u'en, og derfor returnerte den 'ru.'

En røye

Vi kan bruke Substring-funksjonen for å få et enkelt tegn fra en streng. I et slikt tilfelle er det en nødvendighet for deg å gjøre en tildeling, men karakteren kan nås direkte. Dette er litt raskere. Følgende eksempel viser to måter vi kan oppnå dette på:

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

Klikk på Start-knappen for å kjøre koden. Du vil få følgende resultat:

Vi har brukt følgende kode:

Forklaring av kode:

  1. Opprette en modul kalt Module1.
  2. Starter hovedunderprosedyren.
  3. Definere en strengvariabel kalt st og tilordne verdien Guru99 til den.
  4. Definere en strengvariabel kalt mid1 og få tegnet ved indeks 1 av String st. Dette tegnet vil bli tildelt variabelen mid1.
  5. Skriver ut tegnet ovenfor på konsollen.
  6. Definere en strengvariabel kalt mid2 og få tegnet ved indeks 1 med lengden 1 fra String st. Lengden på 1 betyr at den vil returnere det samme tegnet ved startindeksen. Tellingen starter fra startindeksen du angir. Dette tegnet vil bli tildelt variabelen mid2.
  7. Skriver ut tegnet ovenfor på konsollen.
  8. Setter konsollvinduet på pause en stund mens du venter på at brukeren skal gjøre noe for å lukke det.
  9. Slutt på hoveddelprosedyren.
  10. Slutt på modulen.

Sammendrag

  • Substring-funksjonen er definert i String-klassen til Visual Basic.NET.
  • Den godtar to argumenter, som er startpunktet til delstrengen og lengden på delstrengen.
  • Vi kan leke med disse argumentene for å få forskjellige sett med understrenger fra hovedstrengen.

Oppsummer dette innlegget med: