variable = explodex ( string_expression , regular_expression )
returns a list of strings that must be assigned to a variable or used wherever a list may be used.
Splits up string_expression into substrings wherever the regular expression regular_expression occurs. Substrings are stored in array defined in the assignment statement. The array will be re-dimensioned to the exact size to store all of the substrings. Unlike ExPLODE, EXPLODEX allows ignoring specific variations (case sentive, spelling etc), see example below ”[Aa][Nn][Dd]”.
If the regular expression includes capturing groups, using parenthesis, then the array returned will contain the entire string matched by the regular expression in index 0 and each of the captured groups in subsequent elements.
# explode on regex //[,]* // a$ = "We all live in a yellow submarine, yellow submarine, yellow, submarine." w$ = explodex(a$,"[,]* ") for t = 0 to w$[?]-1 print "w$["+t+"]=" + w$[t] next t # explode on regex //[Aa][Nn][Dd]// a$="1 and 2 AND 3 and 5 aND 99 AND 8.88 aNd 6.45" n = explodex(a$,"[Aa][Nn][Dd]") for t = 0 to n[?]-1 print "n["+t+"]=" + n[t] next t
will display
We all live in a yellow submarine. w$[0]=We w$[1]=all w$[2]=live w$[3]=in w$[4]=a w$[5]=yellow w$[6]=submarine w$[7]=yellow w$[8]=submarine w$[9]=yellow w$[10]=submarine. n[0]=1 n[1]=2 n[2]=3 n[3]=5 n[4]=99 n[5]=8.88 n[6]=6.45
By default the nature of regular expressions is “greedy”. This behaviour can be changed using the RegexMinimal statement.
0.9.6.56 | New to Version |
1.99.99.9 | Added Regex Capturing |
1.99.99.55 | now allow explode to be used anywhere a list may be used |