Berserk Docs
Scalar FunctionsString Functions

split

Splits a string by a delimiter and returns an array.

Syntax

split(source, delimiter, index)

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: dynamic

Examples

Example 1 — Split a voyage route into its ports of call

print split("Kattegat-Hedeby-York-Dublin", "-")
print_0 (dynamic)
["Kattegat","Hedeby","York","Dublin"]

Example 2 — Split and expand into individual rows

datatable(route:string)[
  "Kattegat-Hedeby-York"
]
| extend ports = split(route, "-")
| mv-expand ports
route (string)ports (dynamic)
Kattegat-Hedeby-York"Hedeby"
Kattegat-Hedeby-York"Kattegat"
Kattegat-Hedeby-York"York"

On this page