vb
Private Function CountOccurs(ByRef original As String, ByRef match As String) As Integer
Dim mCount As Integer = 0
For i As Integer = 0 To original.Length - 1
i = original.IndexOf(match, i)
If i < 0 Then Exit For
mCount += 1
i += 1
Next
Return mCount
End Function
Using While
vb
Private Function CountOccurs(ByRef original As String, ByRef match As String) As Integer
Dim mCount As Integer = 0
Dim i as integer=0
While i>=0
i = original.IndexOf(match, i)
If i < 0 Then Exit For
mCount += 1
i += 1
end wihile
Return mCount
End Function
Using Do
vb
Private Function CountOccurs(ByRef original As String, ByRef match As String) As Integer
Dim mCount As Integer = 0
Dim i As Integer = 0
Do
i = original.IndexOf(match, i)
If i < 0 Then Exit Do
mCount += 1
i += 1
Loop Until i = original.Length
Return mCount
End Function
End Function
Using Recursion
vb
Private Function CountOccurs(ByRef original As String, ByRef match As String, Optional ByRef i As Integer = 0, Optional ByRef mCount As Integer = 0) As Integer
i = original.IndexOf(match, i)
If i < 0 Then Return mCount
mCount += 1
Return CountOccurs(original, match, i, mCount)
End Function
Using Regular Expression
vb
Private Function CountOccurs(ByRef original As String, ByRef match As String) as integer
Return System.Text.RegularExpressions.Regex.Matches(original, match).Count
End Function