String.CountFields
From Xojo Documentation
You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site! |
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 a MemoryBlock instead.
Usage
result = stringVariable.CountFields(separator)
Part | Type | Description |
---|---|---|
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. |
Notes
The CountFields function is useful for reading columns of data from a text file where the fields are separated with a specific character or characters.
If the separator is not found within stringVariable, CountFields returns 1. If stringVariable 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. |
Sample Code
The code below returns 5.
Var s As String
s = "Dan*Smith*11/22/69*5125554323*Male"
count = s.CountFields("*")
The following code returns three because it counts the null "field" after the (unnecessary) final field delimiter.
This code in the Opening event handler populates a PopupMenu and sets the initial value to the current month:
Var i, last As Integer
Var d As New DateTime = DateTime.Now
s = "January,February,March,April,May,June,July," _
+ "August,September,October,November,December"
last = s.CountFields(",")
For i = 1 To last
Me.AddRow(s.NthField(",", i))
Next
Me.SelectedRowIndex = d.Month - 1
See Also
String.NthField, String.Split, Text.Split functions; TextInputStream class