2011-08-20 24 views
5

devo una stringa che va come "abcdefg..."Trova l'indice di un carattere nella stringa?

vorrei trovare l'indice in cui la lettera d è, così posso ottenere il numero .

Sono riuscito a farlo collegando ogni lettera della stringa, ma ciò non sembra molto conveniente. C'è un altro modo?

risposta

14

La classe String espone alcuni metodi per abilitare questa, come IndexOf e LastIndexOf, in modo che si può fare questo:

Dim myText = "abcde" 
Dim dIndex = myText.IndexOf("d") 
If (dIndex > -1) Then 

End If 
2
"abcdefgh..".IndexOf("d") 

restituisce 3

In rendimenti indice generale prima occorrenza, se non presente restituisce -1

3

I contanis si verificano se si utilizza il metodo della presente lettera e si memorizza il correspo nding number usando il metodo IndexOf, vedi esempio sotto.

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim myString As String = "abcdef" 
    Dim numberString As String = String.Empty 

    If myString.Contains("d") Then 
     numberString = myString.IndexOf("d") 
    End If 
End Sub 

Un altro campione con TextBox

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim myString As String = "abcdef" 
    Dim numberString As String = String.Empty 

    If myString.Contains(me.TextBox1.Text) Then 
     numberString = myString.IndexOf(Me.TextBox1.Text) 
    End If 
End Sub 

Saluti

Problemi correlati