文字列 があるとします。text\\
に置き換える必要があります。次の表現を試しました。\\
/
/* str = "text\\" */
<h:outputText value="#{fn:replace(str, '\\', '/')}" />
しかし、私は常に次の例外に遭遇します:
Caused by: java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.compile(Pattern.java:1671)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at java.lang.String.replaceAll(String.java:2210)
at com.sun.faces.facelets.tag.jstl.fn.JstlFunction.replace(JstlFunction.java:222)
アドバイスをいただければ大変助かります。
更新:以下の回答に基づいて、次の式が機能することがわかりました。
<h:outputText value="#{fn:replace(str, '\\\\', '/')}" />
よろしくお願いします、