FIND
Use the FIND script function to search a script array, and return the corresponding index position.
Syntax
FIND (script array, string [, start index] )
Parameters
-
FIND
Searches the script array -
Script array
Name of the script array to search -
String
String or number to search for
Format: string literal, number without quotation marks, or a script variable -
Start index
(Optional) Index from which to start the search
Format: number without quotation marks, or a script variable
Return Codes
- Index of the array in which the search key is found
- 0 if there is no search result
Notes:
- Searching for a Search key has the effect that a search is made for all script-array values starting with the index start position.
- The complete array is searched if you do not specify a start position, starting with index 1.
- A successful search returns the array index in which the text or number is found first. Use the next index of the previous result as the start position to continue the search for the remaining part of the array.
- Specify arrays with empty square brackets.
Tips:
- Use :DEFINE to create script arrays and declare the data type and size of the array.
- Set individual array elements and specify the index with the :SET statement.
- Use :FILL to store multiple values in an array at once.
For more information about script arrays, see Arrays.
Examples
The following example creates and initializes an array with VARA object values. The script searches for the string WIN in the complete array. The results are written in the activation report.
:DEFINE &array#, string, 5
:FILL &array#[] = GET_VAR(VARA.WIN, AGENTS)
:SET &search# = FIND(&array#[], "WIN", 1)
:WHILE &search# <> 0
:PRINT "WIN found at position &search#"
:SET &search# = &search# + 1
:SET &search# = FIND(&array#[], "WIN", &search#)
:ENDWHILE
See also:
seealso