split(): cut a line into fields
Easy
Cut ri!line wherever ri!separator appears and return the pieces.
Remember that a separator which never appears still gives you a list, and that empty text is not an empty list.
Inputs
ri!line: Textri!separator: Text
ri! Rule Inputs
ri!lineText"a,b,c"
ri!separatorText","
Example 1: Commas
Input: ri!line
"a,b,c"
Input: ri!separator
","
Expected output:
{
"a",
"b",
"c"
}Example 2: A different separator
Input: ri!line
"a-b"
Input: ri!separator
"-"
Expected output:
{
"a",
"b"
}Example 3: Separator never appears
Input: ri!line
"abc"
Input: ri!separator
","
Expected output:
{"abc"}Example 4: A separator longer than one character
Input: ri!line
"a, b, c"
Input: ri!separator
", "
Expected output:
{
"a",
"b",
"c"
}Example 5: Empty text still yields one empty piece
Input: ri!line
""
Input: ri!separator
","
Expected output:
{""}Appian Expression Tips
- • Use
ri!variableNamefor rule inputs - • Use
a!localVariables(local!x: …, body)for locals - • Use
a!forEach(items: …, expression: fv!item)to iterate - • Use
where()/reject(fn!isnull, list)to filter