我有一个变量my_variable,其值为动态网址,如 -
http://stackoverflow.com/questions/ask
我想在这个动态网址上做一个子字符串,找到最后一个字符串" /"即如果上面提到的URL,我想得到子串"问"
我如何使用MEL来做到这一点?
答案 0 :(得分:4)
您可以使用java.lang包中提供的字符串函数。
#[flowVars['my_variable'].substring(flowVars['my_variable'].lastIndexOf('/'))]
希望这有帮助。
答案 1 :(得分:2)
您可以在MEL中使用JDK类,实际上这些包是自动导入的(http://www.mulesoft.org/documentation/display/current/Mule+Expression+Language+Reference):
此流程在端口8081上接收请求并返回路径的最后部分:
<flow name="testedbFlow3">
<http:inbound-endpoint host="0.0.0.0" port="8081" />
<expression-transformer expression="#[message.inboundProperties['http.request'].split("^.*/")[1]]"/>
</flow>
答案 2 :(得分:1)
您可以对变量使用基本的Java String
方法,例如substring()
和lastIndexOf()
。
答案 3 :(得分:0)
#[flowVars['my_variable'].substring(flowVars['my_variable'].lastIndexOf('/'))]
哪个更简单