From Xojo Documentation
| This item was deprecated in version 2019r2.
Please use String.CountFields as a replacement.
Returns the number of values (fields) in the string passed that are separated by the separator string passed. If the source string is binary data or you require case-sensitivity, use CountFieldsB instead.
result = CountFields(stringVariable, separator)
result = stringVariable.CountFields(separator)
|result||Integer||The number of values in source that are separated by separator.|
|stringVariable||String||The original string.|
|separator||String||The character or characters that separate the values in source.|
The CountFields function is useful for reading columns of data from a text file where the columns (fields) are delimited with a specific character or characters.
If the separator is not found within source, CountFields returns 1. If source is null, CountFields returns zero.
|Using CountFields in a loop to extract fields from a string is inefficient. You should use Split and Ubound for this purpose.|
The code below returns 5.
Dim s As String
s = "Dan*Smith*11/22/69*5125554323*Male"
count = CountFields(s, "*")
count = s.CountFields("*")
The following code returns three because it counts the null "field" after the (unnecessary) final field delimiter.
Dim i, last As Integer
Dim d As New Date
s = "January,February,March,April,May,June,July," _
last = CountFields(s,",")
For i = 1 To last
Me.AddRow(NthField(s, ",", i))
Me.ListIndex = d.Month - 1