StringTokenizerArray Class (console safe)
StringTokenizerArray is a high speed string parser which parses a string all at once, and marks location of found tokens.
The main difference between Xojo built in NthField, StringTokenizerList and StringTokenizerArray:
NthField:Good for short strings with few fields.
Parses the string each time you call it, which means if your string has 1000 fields then the string is parsed 1000 times.
Can random access fields.
Tokens can be previously counted (costing one additional round of parsing)
StringTokenizerList (fastest):
Good for long strings with many fields.
Parses the string once only.
Parsing is done in incremental steps, which means that it will not allocate any additional memory, and that if you have a string with 1000 fields and only want to get the first 3 then only the first part of the string is parsed.
Can not random access fields.
Tokens cannot be previously counted.
StringTokenizerArray (fast):
Good for long strings with many fields.
Parses the string once only.
Parsing is done all at once when the class is constructed. (some additional memory is allocated to store location marks)
Can random access fields.
Tokens can be previously counted (costing no additional round of parsing)
This class supports Xojo’s For each syntax when on Xojo 2019r2 or later.
Object
StringTokenizerArray
Constructors
Properties
TokenCount | Use this property to get the count of Tokens. |
Methods
GetNext | Use to get next item from the StringTokenizerArray. |
HasNext | Use to get info if there are more items in the StringTokenizerArray. |
MoveFirst | Use to reset the iterator in the StringTokenizerArray. |
Operator_Subscript | Implements operator to read from the array with the ( ) indexer operator. |
PeekNext | Use this function to peek at next item from the StringTokenizerArray without causing iteration. |
TokenAt | Use this method to get a token from the desired position in the StringTokenizerArray class. |
Supported Platforms:
macOS Intel 64 bitmacOS Apple SiliconWindows 32 bitWindows 64 bitWindows ARM 64 bitLinux 32 bitLinux 64 bitLinux ARM 32 bitLinux ARM 64 bitiOS