After a lull I wanted to start somewhere; here is what I got for now (thanks to Arivuchutarji who initiated this debate).
We have come across many situations where we need to count a string within other.
There are three ways to do (infact two)
1. Linq
2. A Do While loop using IndexOf
3. Regular Expressions
Here is the LINQ one - it applies to characters and not strings (appreciate if someone could post searching a text within a string)
Dim sCollection As String
sCollection = "this is a string with some text repeated and some not"
Dim count As Integer
count = (From sText In sCollection
Where sText = "s"
Select sText).Count
The second one appears primitive - but a foolproof method
Dim cntStr = -1, i1, iStart As Integer
Dim searchString As String
searchString = "some"
Do While i1 <> -1
i1 = sCollection.IndexOf(searchString, iStart)
iStart = i1 + 1
Loop
And finally, my favorite regular expressions - code is clean if you use this
cntStr = RegularExpressions.Regex.Matches(sCollection, "some").Count
Appreciate your comments on this