Delimited Strings


Delimited strings allow 'Array-Like' capabilities. A 'Delimited String' is an array of strings.


A delimited String is a string consisting of a series of strings separated (delimited) by a special character which is not found in any of the strings that are contained within the Delimited String. For example, let us create a Delimited String containing the 'Undead Types' that appear in a combat. We will assume that he 'Undead Type' names do not contain the character '#'. each 'Undead Type' should then be preceeded by '#'. This is how it might look:


#Skeleton#Wraith#Bones#Airdale


You can probably see that there is an easy way to create Delimited Strings that contain other Delimited Strings as its emements. (Hint: Use a different delimiter character for the 'sub-delimited strings'.)


The first character of the Delimited String defines the 'delimiter character'. There are functions that reference the 'Sub-strings' as an array and otherwise manipulate Delimited Strings.





$DelimitedStringCount(ds)


Returns the number of 'substrings' of the delimited string ds.

$DelimitedStringCount(“#abc#def#ghi”) would return “3”.


$DelimitedStringSubstring(ds, N)


Returns the Nth substring of a delimited string ds.

$DelimitedStringSubstring(#abc#def#ghi”, 0) would return “abc”.

$DelimitedStringSubstring(#abc#def#ghi”, 3) would return “”.


$DelimitedStringHead(ds)


Returns the first substring of ds.

Exactly the same as $DelimitedStringSubstring(0);


$DelimitedStringTail(ds)


Returns the Delimited String ds without its first substring.

$DelimitedStringTail(“#abc#def#ghi”) would return “#def#ghi”.


$DelimitedStringAdd(ds, head, delim)


Returns the string ds with 'head' added as the first element.

The first character of 'delim' will be used as a delimiter if ds is empty.

$DelimitedStringAdd(“$ABC$DEF”, “xyz”, “*”) would return “$xyz$ABC$DEF”;


$DelimitedStringAdd(“”, “xyz”, “*”) would return “*xyz”;


$DelimitedStringFilter(ds, dsF, filter)


Returns the 'Filtered' ds string, using the 'dsF' string as the 'Filter String' and 'filter' as the logical operation to be performed. Currently implemented filter functions are:


$DelimitedStringFilter(“$a$b$c$a”, “$b”, “AndNot”) would return “$a$c$a”.

$DelimitedStringFilter(“$a$b$c$a”, $a$c”, “AndNot”) would return “$b”.