执行字符串操作的Mule

执行字符串操作的Mule,mule,Mule,执行字符串操作的最佳方式是什么。我希望对电子邮件地址执行子字符串,以提取域详细信息并将其填充到变量中。 java转换器是可能的,但我希望我可以使用带有表达式的消息充实器来执行此操作。 对不起,我对骡子还是个新手 下面是我的mule流的摘录,它失败了,错误是无法解析方法字符串长度 <enricher target="#[flowVars['FromAddressDomain']]" doc:name="Message Enricher"> <expressio

执行字符串操作的最佳方式是什么。我希望对电子邮件地址执行子字符串,以提取域详细信息并将其填充到变量中。 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>

只需使用:

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

您可以在有效负载上使用dataweave transform,并在@character上使用splitby和spilt运算符。有关splitby运算符的更多信息,请查看下面的链接


你应该考虑到你的答案是下一世纪的答案。四年来发生了很多事情,我看不出你的回答中反映了这些知识。请把它包括在内。