2011-08-20 16 views
5

Mam ciąg znaków, który idzie tak "abcdefg..."Znajdź indeks znaku w ciągu znaków?

chciałbym znaleźć indeks gdzie litera d jest co, więc mogę uzyskać numer .

Udało mi się to zrobić poprzez zapętlenie każdej litery w łańcuchu, ale to nie brzmi bardzo wygodne. Czy istnieje inny sposób?

Odpowiedz

14

Klasa String eksponuje kilka metod umożliwiających to, jak IndexOf i LastIndexOf, tak, że można to zrobić:

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

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

zwraca 3

W ogólnych zwrotów indeksu pierwszego wystąpienia, jeśli nie jest obecny zwraca -1

3

Contanis wystąpić, jeśli używasz metody z niniejszego listu, i przechowywać correspo numer nding za pomocą metody IndexOf, patrz przykład poniżej.

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 

kolejną porcję pole tekstowe

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 

Regards

Powiązane problemy