<logger message="id is===#[flowVars.fein.contains(flowVars.clientId)]===" level="INFO" doc:name="Logger"/>
<logger message="compare id is===#[flowVars.fein.contains('12-345678')]===" level="INFO" doc:name="Logger"/>
这对我来说很好,即它验证字符串比较并返回布尔值。现在,如果我的输入包含带有|,(eg:,12-345678|22-345678|33-345678
)的值,我该如何比较呢?
在Java中,它是:new ArrayList<String>(Arrays.asList(s.split("\\|"))).contains(inputValues);
,它将返回true / false。
答案 0 :(得分:1)
不确定您要实现的目标,但您可以在MEL中使用相同的Java表达式:
#[Arrays.asList(flowVars.fein.split('\\|')).contains('12-345678')]
还有正则表达式和通配符函数可以提供更复杂的字符串比较:https://developer.mulesoft.com/docs/display/current/Mule+Expression+Language+Reference#MuleExpressionLanguageReference-wildcard
或者您可以利用MVEL投影和折叠:
#[($ in flowVars.fein.split("\\|")).contains(inputValues)]
答案 1 :(得分:-2)
In MuleSoft you can use any java code by a component named EXPRESSION.