| INDEX(String, String, Boolean) |
INDEX
INDEX(STRING, SUBSTRING, BACK)
Returns the starting position of a substring within a string.
Argument Type and Attributes
STRING must be of type character.
SUBSTRING must be of type character with the same kind type parameter
as STRING.
BACK (optional)
must be of type logical.
Class
Elemental function
Result Type and Attributes
Default integer.
Result Value
v Case (i): If BACK is absent or present with the value .FALSE., the result is
the minimum positive value of I such that STRING (I : I + LEN
(SUBSTRING) - 1) = SUBSTRING or zero if there is no such value. Zero is
returned if LEN (STRING) .LT. LEN (SUBSTRING). One is returned if LEN
(SUBSTRING) = 0.
v Case (ii): If BACK is present with the value .TRUE., the result is the
maximum value of I less than or equal to LEN (STRING) - LEN
(SUBSTRING) + 1, such that STRING (I : I + LEN (SUBSTRING) - 1) =
SUBSTRING or zero if there is no such value. Zero is returned if LEN
(STRING) .LT. LEN (SUBSTRING) and LEN (STRING) + 1 is returned if LEN
(SUBSTRING) = 0.
Examples
INDEX (’FORTRAN’, ’R’) has the value 3.
INDEX (’FORTRAN’, ’R’, BACK = .TRUE.) has the value 5.
|