Mam ciąg znaków (na przykład: "Hello there. My name is John. I work very hard. Hello there!"
) i próbuję znaleźć liczbę wystąpień ciągu "hello there"
. Jak dotąd, jest to kod mam:jak znaleźć liczbę wystąpień podciągu w ciągu znaków vb.net
Dim input as String = "Hello there. My name is John. I work very hard. Hello there!"
Dim phrase as String = "hello there"
Dim Occurrences As Integer = 0
If input.toLower.Contains(phrase) = True Then
Occurrences = input.Split(phrase).Length
'REM: Do stuff
End If
Niestety, co ta linia kodu wydaje się zrobić, to podzielić ciąg każdym razem widzi pierwszą literę phrase
, w tym przypadku, h
. Więc zamiast wyniku, na który mam nadzieję, otrzymam znacznie większą liczbę. Wiem, że liczenie liczby podziałów w łańcuchu jest okropnym sposobem na zrobienie tego, nawet jeśli otrzymałem poprawną odpowiedź, więc czy ktoś mógłby mi pomóc i udzielić pomocy?
pytanie nie jest dobrze sformułowane. Jeśli używasz vb.net, ponieważ jest on oznaczony, funkcja Split zaakceptuje ciąg znaków, a nie tylko znak. Tak więc w twoim przypadku będzie to 3, ponieważ zapomniałeś odjąć 1. Reference: https://msdn.microsoft.com/en-us/library/system.string.split%28v=vs.110%29.aspx – Gaucho