@INDEX[string1,string2[,n]]:  Returns the offset of string2 within string1, or -1 if string2 is not found or if string1 is empty. The first or leftmost position in string1 is numbered 0. The optional third parameter n has three different interpretations:

 

If n > 0, it specifies that the nth match from left to right is desired.

If n < 0 or it is prefixed with the minus sign -,  it specifies that the -nth match from right to left is desired.

If n=0, the total number of matches is desired.

 

When n is omitted, the value returned is the offset of the first (leftmost) match.

 

Tips

 

searching for a comma :

 

1.quote string1 (to prevent the expected comma making it appear as more than one parameter)
2.use escape character in string2 to escape the comma
       echo %@index["TCC, Take Command, TCCLE",^,,2]

 

searching for a double quote :

 

1.use escape character in string2 to escape the double quote
2.use the special form ^q to represent it in string2:
echo %@index[contains a "quoted" word,^q,0]

 

See Codes for Escapable Characters for details.

 

Examples:

 

In all examples below

 

string1:        This is a fine help file

string2:        h

 

n

result

purpose

omitted

1

locate leftmost

0

2

count occurrences

1

1

locate leftmost

2

15

locate second leftmost

3

-1

locate third leftmost

-1

15

locate rightmost

-2

1

locate second rightmost

-3

-1

locate third rightmost