Hvordan finne ord i en streng i Visual Basic
Den enkleste måten å finne et ord i en Visual Basic streng er å bruke String klassen er "IndexOf" funksjon, men det er ikke den eneste måten, og kan ikke levere det du ønsker. Mens "IndexOf" -funksjonen gir bokstaven stilling av ordet, kan mange programmerere ønske, i stedet, for å finne det ord nummer er representerer i strengen.
Bruksanvisning
1 Opprett en ny Visual Basic-prosjektet ved å klikke på "File" og "Nytt prosjekt". Velg "Console Application".
2 Lim inn følgende for å lage en enkel streng som du kan søke innen:
Dim s As String = "Dette er en streng av ord."
3 Lim inn følgende å hente tegnet nummeret der ordet "streng" skjer:
s.IndexOf ( "streng")
Resultatet av dette vil være 10, siden (som starter på 0), den første bokstaven i ordet "streng" forekommer i den tiende plass.
4 Lim inn følgende for å finne ordet antall ordet "streng:"
dim ord () som s.split ()
dim newWords som Arraylist = new Arraylist ()
for hvert ord i ord
dim regex = new System.Text.RegularExpressions.Regex("\W")
newWords.Add (regex.Replace (ord, ""))
neste
newWords.IndexOf ( "streng")
Dette deler strengen i sine ord og bruker deretter et vanlig uttrykk å strippe all tegnsetting, mellomrom, og andre potensielle problem tegn fra hvert ord. Det gjør den ved hjelp av Visual Basics "\ W" regex mønster som matcher alle ikke-alfabetiske tegn, og erstatte dem med tomme strenger.
Resultatet av dette vil være tre, ettersom (som starter ved 0) "streng" er i den tredje plass. For en mer intuitiv utgang, bare legge en til resultatet, som så:
newWords.IndexOf ( "streng") + 1
Dette vil sikre at opptellingen begynner på en heller enn 0, som Visual Basic vanligvis gjør.