Det enklaste sättet att hitta ett ord i en Visual Basic sträng är att använda klassen String s " indexOf " -funktion , dock , det är inte det enda sättet , och kan inte leverera vad du vill . Medan " indexOf " funktionen ger bokstaven positionen av ordet , kan många programmerare vill , istället för att hitta det ord nummer är representerar i strängen . Instruktioner
1
Skapa ett nytt Visual Basic-projekt genom att klicka på " File " och " Nytt projekt . " Välj " . Console Application "
2
Klistra in följande för att skapa en enkel sträng som du kan söka i : " . Detta är en sträng av ord "
Dim s As String = Addera 3
Klistra in följande för att hämta tecknet nummer på vilken ordet "sträng " inträffar :
s.IndexOf ( " string " ) katalog
resultatet av detta kommer att vara 10 , eftersom (från 0 ) , den första bokstaven i ordet "sträng " förekommer i tionde plats .
4
Klistra in följande för att hitta ord för det ordet " sträng : "
dunkla ord () As S.SPLIT ( ) katalog
dim newWords som ArrayList = new ArrayList ( ) katalog
för varje ord i ord
dim regex = new System.Text.RegularExpressions.Regex ( " \\ W " ) katalog
newWords.Add ( regex.Replace ( word , " " ) ) katalog
nästa
newWords.IndexOf ( " string " ) katalog
Detta delar upp strängen i sina ord och sedan använder ett reguljärt uttryck för att tömma alla skiljetecken , mellanslag och andra potentiella tecken problemområden från varje ord . Det gör detta med hjälp av Visual Basics " \\ W " regex mönster , som matchar alla icke - alfabetiska tecken , och ersätta dem med tomma strängar .
Resultatet av detta kommer att vara 3 , eftersom ( börjar vid 0 ) " sträng " är på tredje plats . För en mer intuitiv utgång , bara lägga till en till resultatet , så här:
newWords.IndexOf ( " string " ) +1
Detta kommer att säkerställa att räkningen börjar vid 1 snarare än 0 , såsom Visual Basic gör oftast .