in src/main/java/org/apache/commons/text/WordUtils.java [365:390]
public static String initials(final String str, final char... delimiters) {
if (StringUtils.isEmpty(str)) {
return str;
}
if (delimiters != null && delimiters.length == 0) {
return StringUtils.EMPTY;
}
final Predicate<Integer> isDelimiter = generateIsDelimiterFunction(delimiters);
final int strLen = str.length();
final int[] newCodePoints = new int[strLen / 2 + 1];
int count = 0;
boolean lastWasGap = true;
for (int i = 0; i < strLen;) {
final int codePoint = str.codePointAt(i);
if (isDelimiter.test(codePoint)) {
lastWasGap = true;
} else if (lastWasGap) {
newCodePoints[count++] = codePoint;
lastWasGap = false;
}
i += Character.charCount(codePoint);
}
return new String(newCodePoints, 0, count);
}