DataWeave 中的子字符串直到出现一个字符

Substring in DataWeave up to the occurrence of a character

在 DataWeave 中,我如何对输入值进行子字符串化,以便输出包含字符出现之前的所有内容?我的输入值类似于 ABCD_123,我需要将所有内容都包含到下划线,所以我的输出将是 ABCD。实现此目的的正则表达式是 /[^_]*/,但我找不到使用 DataWeave 实现此目的的方法。如有任何帮助,我们将不胜感激!

根据@WiktorStribiżew 的评论,我解决这个问题的方法是声明一个函数:

%function split(text) text splitBy "_"

然后在我的 DW 映射中,我取值为:

OUTPUT: split(payload.INPUT)[0]