lots of exercises in java... from https://github.com/exercism/java

Acronym.java 636B

123456789101112131415161718192021222324252627
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. final class Acronym {
  4. private final String acronym;
  5. Acronym(String phrase) {
  6. acronym = generateAcronym(phrase);
  7. }
  8. String get() {
  9. return acronym;
  10. }
  11. private String generateAcronym(String phrase){
  12. final Pattern BREAK_WORDS = Pattern.compile("[A-Z]+[a-z]*|[a-z]+");
  13. final Matcher matcher = BREAK_WORDS.matcher(phrase);
  14. final StringBuilder b = new StringBuilder();
  15. while (matcher.find()){
  16. b.append(matcher.group().charAt(0));
  17. }
  18. return b.toString().toUpperCase();
  19. }
  20. }