3

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

这是我的 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>
4

2 回答 2

6

只需使用:

<set-variable variableName="FromAddressDomain"
     value="#[org.mule.util.StringUtils.substringAfter(payload.fromAddr, '@')]" />
于 2013-10-31T15:52:09.113 回答
0

您可以在有效负载上使用 dataweave 转换,并使用运算符 splitby 并在 @ 字符上溢出。请查看以下链接以获取有关 splitby 运算符的更多信息

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

于 2018-03-03T13:20:13.793 回答