2012-07-23 95 views
0

我應該如何轉義下面的Java代碼,以便我可以在Spring-EL表達式中使用它?在SpEL中轉義正則表達式

的Java:

.replaceAll("[\\p{Punct}&&[^\"|\\]|\\[|+|\\-|:|(|)|_|~|.|,|%|?]]", " ") 

春-EL,它不分析:

<int:transformer 
    input-channel="splitTitles" 
    output-channel="lowercasedTitles" 
    expression="payload.toLowerCase().replaceAll('[\\p{Punct}&&[^\"|\\]|\\[|+|\\-|:|(|)|_|~|.|,|%|?]]').trim()"> 
</int:transformer> 

回答

0

您必須轉義特殊字符(即& = &amp;,「= &quot;)在指定屬性值時,一個基於XML的文件,另外,你沒有指定replaceAll方法調用的第二個參數。試試這個,

<int:transformer 
     input-channel="splitTitles" 
     output-channel="lowercasedTitles" 
     expression="payload.toLowerCase().replaceAll('[\\p{Punct}&amp;&amp;[^\&quot;|\\]|\\[|+|\\-|:|(|)|_|~|.|,|%|?]]', ' ').trim()"> 
    </int:transformer>