2012-07-23 2 views
0

다음 Java 코드를 어떻게 이스케이프하면 스프링 EL 표현식에서 사용할 수 있습니까?SpEL의 정규식 이스케이프

자바 :

.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> 
관련 문제