private String parseStringParameter() throws ParseException { int index = nextNonBlank(); if (index < 0 || expression.charAt(index) != '"') { throw new ParseException(STRING_PARAMETER_EXPECTED_ERROR, parseIndex); } Character scapeChar = '\\'; Character last = null; boolean strReaded = false; StringBuilder param = new StringBuilder(); for (int i = index + 1; i < expression.length(); i++) { if (expression.charAt(i) == '"' && !scapeChar.equals(last)) { strReaded = true; break; } else { param.append(expression.charAt(i)); last = expression.charAt(i); } } if (!strReaded) { throw new ParseException(STRING_PARAMETER_EXPECTED_ERROR, parseIndex); } setParseIndex(index + param.length() + 2); return unescapeJava(param.toString()); }
result = StringEscapeUtils.unescapeJava( result );