Come trovare le parole in una stringa in Visual Basic

November 11

Il modo più semplice per trovare una parola in una stringa di Visual Basic è quello di utilizzare la funzione "IndexOf" della classe String, tuttavia, che non è l'unico modo, e non può fornire ciò che si desidera. Mentre la funzione "IndexOf" fornisce la posizione lettera della parola, molti programmatori possono desiderare, invece, per trovare quello numero di parola è rappresenta nella stringa.

istruzione

1 Creare un nuovo progetto di Visual Basic facendo clic su "File" e "Nuovo progetto". Selezionare "Applicazione console."

2 Incollare il seguente per creare una stringa semplice che si può cercare all'interno:

Dim s As String = "Questa è una stringa di parole."

3 Incollare il seguente per recuperare il numero di caratteri in cui si verifica la parola "stringa":

s.IndexOf ( "stringa")

Il risultato di questa sarà 10, poiché (a partire da 0), la prima lettera della parola "stringa" si verifica nel decimo posto.

4 Incollare il seguente per trovare il numero di parola della parola "stringa:"

dim parole () come s.split ()

dim newWords come ArrayList = new ArrayList ()

per ogni parola in parole

dim regex = new System.Text.RegularExpressions.Regex("\W")

newWords.Add (regex.Replace (parola, ""))

prossimo

newWords.IndexOf ( "stringa")

Questo divide la stringa nelle sue parole e quindi utilizza un'espressione regolare per togliere tutta la punteggiatura, spazi, e altri potenziali personaggi problematici da ogni parola. Lo fa utilizzando Visual Basic "\ W" schema di espressione regolare, il che corrisponde a tutti i caratteri non alfabetici, e la loro sostituzione con stringhe vuote.

Il risultato di questo sarà 3, in quanto (a partire da 0) "stringa" è nella terza posizione. Per un output più intuitivo, basta aggiungere uno al risultato, in questo modo:

newWords.IndexOf ( "stringa") + 1

Questo farà sì che il conteggio inizia 1 anziché 0, come di solito fa Visual Basic.