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" |