Hallo!
Ich versuche gerade mit String.replaceAll() den String
durch folgenden String zu erstetzen:
Leider löste aber bereits das Suchen nach dem Quell-String folgende Exception aus:
Warum ist das so? Ich habe ja beide Strings mit String regexForSubreport = Matcher.quoteReplacement(subreportExpression); versucht zu quoten, damit sie als Literal erkannt werden.
Warum quotet eigentlich Matcher.quoteReplacement den Punkt(.) for .jasper nicht? Gibt es eine andere Funktion um einen String als Literal zur Regular Expression zu quoten?
Stehe im Moment etwas auf der Leitung....
Danke schon mal im Voraus!
mfg
christian
Ich versuche gerade mit String.replaceAll() den String
Code:
<subreportExpression class="java.lang.String"><![CDATA[\$P{SUBREPORT_DIR} + "Subreport-Test.jasper"]]></subreportExpression>
durch folgenden String zu erstetzen:
Code:
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[\$P{INTERNAL-SUBREPORT-Subreport-Test}]]></subreportExpression>
Leider löste aber bereits das Suchen nach dem Quell-String folgende Exception aus:
Code:
SEVERE [global]
java.util.regex.PatternSyntaxException: Illegal character range near index 88
<subreportExpression class="java.lang.String"><![CDATA[\$P{SUBREPORT_DIR} + "Subreport-Gulasch.jasper"]]></subreportExpression>
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.range(Pattern.java:2355)
at java.util.regex.Pattern.clazz(Pattern.java:2268)
at java.util.regex.Pattern.clazz(Pattern.java:2210)
at java.util.regex.Pattern.sequence(Pattern.java:1818)
....
Warum ist das so? Ich habe ja beide Strings mit String regexForSubreport = Matcher.quoteReplacement(subreportExpression); versucht zu quoten, damit sie als Literal erkannt werden.
Warum quotet eigentlich Matcher.quoteReplacement den Punkt(.) for .jasper nicht? Gibt es eine andere Funktion um einen String als Literal zur Regular Expression zu quoten?
Stehe im Moment etwas auf der Leitung....
Danke schon mal im Voraus!
mfg
christian