Velocity에서 문자열에서 바람직하지 않은 문자를 제거하려고합니다 (줄 바꿈은 가능하지만 EM 및 CAN ASCII 제어 문자 같은 것은 아닙니다).속도 - 제어 문자를 제거하는 정규식을 수정 하시겠습니까?
#set($cleanScreen = $cleanScreen.replaceAll("\p{Cc}", ""))
예외 :
org.apache.velocity.exception.ParseErrorException: Lexical error: org.apache.velocity.runtime.parser.TokenMgrError: Lexical error at line 13, column 82. Encountered: "p" (112), after : "\"\\"
at org.apache.velocity.Template.process(Template.java:137)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:415)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1077)
at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:303)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:503)
및
#set($cleanScreen = $cleanScreen.replaceAll("[[:cntrl:]]", ""))
이것은 하나의 예외는 대신, 그것은 문자 c,n,t,r,l
과 일치 문자열에서 제거 발생하지 않습니다.
및 ...
#set($cleanScreen = $cleanScreen.replaceAll("\\p{Cntrl}", ""))
예외 :
java.util.regex.PatternSyntaxException: Illegal repetition near index 2
\\p{Cntrl}
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
내가 시도한 몇 가지 정규식의 (많은 VTL 자바에서 제대로 작동하지만,하지)? 내 주요 문제는 자바와 벨로 시티 간의 도주가 어떻게 다른 것 같습니까?
아무도 도와 줄 수 있습니까? Java 클래스가 아닌 VTL에만 액세스 할 수 있습니다.
나는 이것이 오래된 게시물이라는 것을 알고 있는데, "VTL shell"은 무엇을 사용 했습니까? 나는 좋은 것을 찾고 있어요 – jbnunn
저는 파일 변경시에 그냥 반복하는 것을 사용했습니다. 아주 간단합니다. 그래도 '적절한'REPL과 '공식적인'REPL은 괜찮을 것입니다. – alvi
VTL 셸 설정 방법을 공유 할 수 있습니까? 매우 유용 할 것입니다 :). –