I would like to suggest a couple of new string functions. I know that I can create my own functions to accomplish these task but I think that the product would benefit from optimized versions of this functions being included so that everyone benefits so here are my suggestions:
Retrieves a string between two delimiters.
STREXTRACT.s(SearchExpression.s, BeginDelim.s [, cEndDelim.s [, Occurrence.i[, Flag.i]]]])
Parameters
SearchExpression Specifies the string to search.
BeginDelim Specifies the characters that delimits the beginning of SearchExpression.
EndDelim Specifies the characters that delimits the end of SearchExpression.
Occurrence Specifies at which occurrence of BeginDelim in SearchExpression to start the extraction.
Flag Specify the type of controls placed on the search. The number you specify in Flag provides a bit-value that determines options according to the following table:
Bit Value (additive) Description
0 1 Case-insensitive search
1 2 End delimiter not required. Specifies that a search, which finds no occurrence of EndDelim, returns the contents of SearchExpression from the BeginDelim location.
2 4 Include the delimiters in the returned expression.
Returns the extracted string
Converts a string to an array of strings.
StringToArray.i(String.s,*Array,StartDelim.s,EndDelim.s)
String - string to be converted to an array
*Array - Pointer to the 1 dimensional destination array
StartDelim - The characters that delimit the start of the search Expression
EndDelim - The characters that delimit the end of the search expression
*Len - The number of rows returned in the array
Flags - The following table describes the values for nFlags.
Bit Value (additive) Description
0 1 (Default) Removes leading and trailing spaces from lines.
1 2 Include the last element in the array even if the element is empty.
2 4 Do not include empty elements in the array.
3 8 Specifies case-insensitive parsing.
4 16 Include the parsing characters in the array.
Returns the number of rows in the array
SimonReplaces each character in a character expression that matches a character in a second character expression with the corresponding character in a third character expression.
CHRTRAN.s(SearchedExpression.s, SearchExpression.s, ReplacementExpression.s)
Parameters
SearchedExpression Specifies the expression in which CHRTRAN( ) replaces characters.
SearchExpression Specifies the expression containing the characters CHRTRAN( ) looks for in SearchedExpression.
ReplacementExpression Specifies the expression containing the replacement characters.
If a character in SearchExpression is found in SearchedExpression, the character in SearchedExpression is replaced by a character from ReplacementExpression that's in the same position in ReplacementExpression as the respective character in SearchExpression.
If ReplacementExpression has fewer characters than SearchExpression, the additional characters in SearchExpression are deleted from SearchedExpression. If ReplacementExpression has more characters than SearchExpression, the additional characters in cReplacementExpression are ignored.
Returns the transformed string