in src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java [167:185]
private String formatString(RuntimeObjectModel runtimeObjectModel, String source, Object[] params) {
if (params == null) {
return null;
}
Matcher matcher = PLACEHOLDER_REGEX.matcher(source);
StringBuilder builder = new StringBuilder();
int lastPos = 0;
while (matcher.find()) {
String group = matcher.group();
int paramIndex = Integer.parseInt(group.substring(1, group.length() - 1));
String replacement = toString(runtimeObjectModel, params, paramIndex);
int matchStart = matcher.start();
int matchEnd = matcher.end();
builder.append(source, lastPos, matchStart).append(replacement);
lastPos = matchEnd;
}
builder.append(source, lastPos, source.length());
return builder.toString();
}