User Tools

Site Tools


en:explodex

Explodex (Function)

Format

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.

Description

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.

Example

# 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

Notes

By default the nature of regular expressions is “greedy”. This behaviour can be changed using the RegexMinimal statement.

See Also

History

0.9.6.56New to Version
1.99.99.9Added Regex Capturing
1.99.99.55now allow explode to be used anywhere a list may be used
en/explodex.txt · Last modified: 2017/09/09 08:56 by junior-root