Home / Search/ Language Reference/ Functions/ Scalar Functions/ String Functions/indexof

indexof

The indexof function reports the zero-based index of the first occurrence of a specified string within the input string.

If the lookup or input string isn’t of string type, the function forcibly casts the value to string.

Syntax

    indexof( Source, Lookup [, StartIndex [, Length [, Occurrence ]]] )

Arguments

  • Source: Input string.
  • Lookup: String to look up.
  • StartIndex: Search start position. A negative value will offset the starting search position from the end of the Source by this many steps: abs(StartIndex).
  • Length: Number of character positions to examine. A value of -1 means unlimited length.
  • Occurrence: The number of the occurrence. Default is 1.

Results

Zero-based index position of lookup.

  • Returns -1 if the string isn’t found in the input.
  • For irrelevant inputs (occurrence < 0 or length < -1) - returns null.

Examples

This example returns 3:

print indexof("Hello, world!", "lo")

This example returns 17, because the StartIndex value of 5 skips over the first match:

print indexof("Hello, world, hello!", "lo", 5)

This example returns 2:

print indexof("abcdefg", "cde")

This example returns 2:

print indexof("abcdefg", "cde", 1, 4)

This example returns -1 for not found. The search starts from index 1, but stops after 2 characters, so the full lookup string can’t be found:

print indexof("abcdefg", "cde", 1, 2)

This example returns -1 for not found. The 3 value supplied for StartIndex is beyond where the lookup string begins:

print indexof("abcdefg", "cde", 3, 4)

This example returns 5. The negative StartIndex begins the search at the b character, allowing the lookup string to match:

print indexof("abcdefg", "cde" ,-5)

This example returns 4. The first two arguments are forcibly cast to strings 12345 and 5:

print indexof(1234567, 5, 1, 4)

This example returns 2:

print indexof("abcdefg", "cde", 2, -1)

This example returns 9:

print indexof("abcdefgabcdefg", "cde", 1, 11, 2)

This example returns -1 for not found. The third occurrence of the lookup string is outside the specified range:

print indexof("abcdefgabcdefg", "cde", 1, -1, 3)