如何解决使用 Dataweave 在 Mule4 中修剪字符
我正在尝试使用修剪功能修剪 dataweave 中的字符
输入:“C#-01-20875 DB_GDTest”
如何修剪直到上面字符串中的空格
我使用的代码如下
%dw 2.0
output application/json
var ab = "C##-01-20875 DB_GDTest" as String
---
trim(ab)
预期输出是 "C##-01-20875"
我怎样才能做到这一点?
解决方法
我听说过的每种语言中的每个 trim() 函数都会删除字符串两端的空格,而不是中间的空格。您想要的是删除第一个空格后的所有内容的函数。我建议为此创建您自己的自定义函数。
如果您使用的是 Mule 4.2.0 或更高版本,我建议您使用 substringBefore() 函数:
%dw 2.0
output application/json
import * from dw::core::Strings
var ab = "C##-01-20875 DB_GDTest" as String
fun removeFromSpace(s)=substringBefore(s," ")
---
removeFromSpace(ab)
对于 Mule 4.1,您可以使用正则表达式来实现相同的结果,但效率可能较低:
%dw 2.0
output application/json
var ab = "C##-01-20875 DB_GDTest" as String
fun removeFromSpace(s)=s replace /\s.*/ with("")
---
removeFromSpace(ab)
或者查看@olamiral 版本以获得不同的方法。
,您可以尝试以下 DataWeave 表达式:
%dw 2.0
output application/json
var ab = "C##-01-20875 DB_GDTest" as String
---
splitBy(ab," ")[0]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。