Berserk Docs
Scalar FunctionsString Functions

countof

Counts occurrences of a substring in a string.

Syntax

countof(source, search, kind)

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 — Count occurrences of a substring

print countof("Ragnar raided Lindisfarne and raided York", "raided")
print_0 (long)
2

Example 2 — Count matches using a regex pattern

print countof("Ragnar raided Lindisfarne in 793 and York in 866", "[0-9]+", "regex")
print_0 (long)
2

On this page