Berserk Docs
Scalar FunctionsString Functions

indexof

Returns the zero-based index of the first occurrence of a substring.

Syntax

indexof(source, lookup, start_index, length, occurrence)

Parameters

Prop

Type

Given a dynamic field

This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.

Returns: long

Examples

Example 1 — Find the position of a substring

print indexof("Ragnar Lothbrok", "Loth")
print_0 (long)
7

Example 2 — Search starting from a given position

print indexof("raid on Lindisfarne, raid on York", "raid", toint(5))
print_0 (long)
21

Example 3 — Find the second occurrence of a substring

print indexof("raid on Lindisfarne, raid on York", "raid", toint(0), toint(-1), toint(2))
print_0 (long)
21

On this page