骡子上的字符串比较
Mule MEL String comparision
<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"/>
这对我来说很好,即它验证字符串比较和 return 布尔值。现在,如果我的输入包含附加了 |,(eg:,12-345678|22-345678|33-345678
) 的值,我该如何比较它?
在 Java 中是:new ArrayList<String>(Arrays.asList(s.split("\|"))).contains(inputValues);
这将 return true/false。
不确定您要实现的目标,但您可以在 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)]
在 MuleSoft 中,您可以通过名为 EXPRESSION 的组件使用任何 java 代码。
<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"/>
这对我来说很好,即它验证字符串比较和 return 布尔值。现在,如果我的输入包含附加了 |,(eg:,12-345678|22-345678|33-345678
) 的值,我该如何比较它?
在 Java 中是:new ArrayList<String>(Arrays.asList(s.split("\|"))).contains(inputValues);
这将 return true/false。
不确定您要实现的目标,但您可以在 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)]
在 MuleSoft 中,您可以通过名为 EXPRESSION 的组件使用任何 java 代码。