骡子执行字符串操作

问题描述 投票:3回答:2

执行字符串操作的最佳方法是什么。我希望在电子邮件地址上执行子字符串以提取域详细信息并将其填充到变量中。 java变换器是可能的,但我希望我能使用带有表达式的消息来执行此操作。请原谅我,但我仍然是骡子的新手。

这里是我的mule流的摘录,失败的错误无法解决方法字符串长度。

 <enricher target="#[flowVars['FromAddressDomain']]" doc:name="Message Enricher"> 
        <expression-transformer expression="#[ payload.fromAddr.substring(payload.fromAddr.lastIndexOf('@')+ 1,payload.fromAddr.lenth())]" doc:name="Expression"></expression-transformer>  
    </enricher>
mule
2个回答
5
投票

只需使用:

<set-variable variableName="FromAddressDomain"
     value="#[org.mule.util.StringUtils.substringAfter(payload.fromAddr, '@')]" />

0
投票

您可以对有效负载使用dataweave转换,并使用运算符拆分并拆分@字符。有关按操作员拆分的更多信息,请查看以下链接

https://docs.mulesoft.com/mule-user-guide/v/3.9/dataweave-operators#split-by

© www.soinside.com 2019 - 2024. All rights reserved.