Den enkleste måten å finne et ord i et Visual Basic- streng er å bruke String klassens " IndexOf "-funksjonen , men det er ikke den eneste måten , og kan ikke levere det du ønsker . Mens " IndexOf "-funksjonen gir bokstaven plasseringen av ordet, kan mange programmerere ønsker, i stedet for å finne det ordet nummeret er representerer i strengen . Instruksjoner
en
Opprett en ny Visual Basic-prosjekt 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 i : " . Dette er en streng av ord "
Dim s As String =
3
Lim inn følgende for å hente tegnet antallet på hvor ordet "streng" oppstår : en
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 nummeret til 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 (word , "") )
neste
newWords.IndexOf ( "streng" )
Dette deler strengen i sine ord , og deretter bruker et vanlig uttrykk å strippe all tegnsetting , mellomrom og andre potensielle problemområder tegn fra hvert ord . Den gjør dette 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 , siden (som starter på 0 ) " string "er i det tredje sted . For en mer intuitiv utgang, bare legge en til resultatet , slik:
newWords.IndexOf ( "streng" ) en
p Dette vil sikre at tellingen begynner på en heller enn 0 , som Visual Basic vanligvis gjør .