Der einfachste Weg , um ein Wort in einer Visual Basic-Zeichenfolge zu finden, ist der String -Klasse " IndexOf "-Funktion jedoch , das ist nicht der einzige Weg, zu verwenden, und kann nicht liefern, was Sie wollen . Während die " IndexOf "-Funktion bietet den Brief Position des Wortes , kann viele Programmierer wollen, statt zu finden, was für ein Wort Zahl repräsentiert in der Zeichenfolge. Anleitung
1
Neues Visual Basic-Projekt , indem Sie auf "Datei" und " Neues Projekt ". Wählen Sie " . Console Application"
2
Fügen Sie den folgenden , um eine einfache Zeichenfolge, die Sie suchen innerhalb erstellen : " . Dies ist eine Folge von Wörtern "
Dim s As String =
3
Fügen Sie den folgenden , um das Zeichen an, auf der das Wort "string" tritt ab:
s.IndexOf ( "string" )
die Folge davon wird 10 sein, da ( beginnend bei 0 ), der erste Buchstabe des Wortes "string" tritt in der zehnten Platz .
4
Fügen Sie den folgenden , um das Wort Nummer des Fundes Wort " string: "
dim Wörter () als s.split ()
dim newWords als ArrayList = new ArrayList ()
für jedes Wort in Worte
dim regex = new System.Text.RegularExpressions.Regex ("\\ W")
newWords.Add ( Regex.Replace ( Wort , "") )
next to
newWords.IndexOf ( "string" )
Diese teilt den String in seine Worte und benutzt dann einen regulären Ausdruck , um alle Satzzeichen , Leerzeichen und andere potenzielle Problem Zeichen aus jedem Wort abzustreifen. Er tut dies mit Visual Basics " \\ W " Regex-Muster , die alle nicht-alphabetischen Zeichen übereinstimmt , und ersetzt sie mit leeren Saiten.
Das Ergebnis wird dies 3 sein, da ( beginnend bei 0 ) "string " ist in der dritten Platz. Für eine intuitive Ausgang , fügen Sie einfach einen zu dem Ergebnis , etwa so:
newWords.IndexOf ( "string" ) +1
Dadurch wird sichergestellt, dass die Zählung bei 1 beginnt statt 0 , wie Visual Basic in der Regel nicht .