MATPARSE Statement

Assigns the elements of a string variable to the variables of a dimensioned array.

Syntax

MATPARSE array{,start{,end}} FROM string{ USING delim-char} {SETTING elements-var}

Syntax Elements

array is the name of a dimensioned array to which the variables are assigned.

start, end are optional starting and ending positions from which to start and stop assigning elements to array. If start is omitted or <= 0, it defaults to 1. If end is omitted, or if it is < 1 or greater than the size of array, assignment continues to the end of array. If start > end and end is >= 0, no operation is performed.

string is a string expression from which data is assigned to the elements of array.

delim-char is a delimiter found between elements of the string-var used to build array. The value of delim-char can be from X'00' to X'FE', and must be enclosed in quotes. If delim-char is omitted or null, the default is an attribute mark. If more than one character is specified, only the first is used.

elements-var is a variable to which is assigned the number of elements of array that are assigned a value from string-var.

Operation

The MATPARSE statement performs the opposite function of the MATBUILD statement.

During the MATPARSE process, each element of string-var is assigned to a successive element of array.  If the size of array is greater than the number of parsed elements of string-var, the remaining elements of array are assigned a null value.  The process terminates when the last element of array has been assigned a value, even if string-var is not exhausted.

No run time error messages are generated.

The MATPARSE statement assumes that array is a vector (one-dimensional array). Refer to the section Array Type in the description of the MATBUILD statement.

Examples

X = "1.2.2.1.2.3.4.4.8.2"
DIM ARR(10)
MATPARSE ARR FROM X USING '.'

Assigns each element of X, separated by a period, to dimensioned array ARR.

A = "THIS IS A TEST FOR YOU."
DIM B(12)
MATPARSE B FROM A USING ' ' SETTING Y
PRINT Y

Assigns the elements of variable A to array B and prints the value 6, the number of elements assigned to array B.

VAR = "3,2,5,9,9,2,8"
DIM ARR(4)
MATPARSE ARR FROM VAR USING ','

Assigns only the first four values of variable VAR to array ARR, because ARR has only four elements.

V1 = "ABC^DEF^GHI^JKL^MNO^PQR"
DIM ARR1(15)
MATPARSE ARR1,5,10 FROM V1

Assigns the values of variable V1 to dimensioned array ARR1, starting with the fifth element of ARR1 and ending with the tenth element.

Go to top button