Chat-Transform/src/main/java/io/gitlab/jfronny/chattransform/ChatTransform.java

29 lines
956 B
Java

package io.gitlab.jfronny.chattransform;
import io.gitlab.jfronny.commons.log.Logger;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
public class ChatTransform {
public static final String MOD_ID = "chat-transform";
public static final Logger LOG = Logger.forName(MOD_ID);
public static String transform(String text) {
for (Map.Entry<String, String> e : Cfg.substitutions
.entrySet()
.stream()
.collect(Collectors.groupingBy(s -> s.getKey().length()))
.entrySet()
.stream()
.sorted(Map.Entry.<Integer, List<Map.Entry<String, String>>>comparingByKey().reversed())
.map(Map.Entry::getValue)
.flatMap(Collection::stream)
.toList()) {
text = text.replaceAll(Pattern.quote(e.getKey()), e.getValue());
}
return text;
}
}