object Acronym {
  def abbreviate(phrase: String): String = {
    raw"[\p{L}']+".r
      .findAllIn(phrase)
      .map(_.head.toUpper)
      .mkString
  }
}

This approach starts by defining a Regex pattern using a raw interpolator. The raw interpolator allows using the backslash escape character in a Regex patttern without having to escape the backslash with another backslash. The pattern looks for one or more Unicode letter or dash characters.

The Regex calls its findAllIn() method, which finds all non-overlapping matches of the Regex pattern in the input phrase. The resulting MatchIterator of words is chained to the map() method, which calls toUpper() on the head of each word and passes the uppercased first character of each word to the mkString() method, which returns all of those characters from the abbreviate() method as a String.

23e Sep 2026 · Tu l'as trouvée utile ?

Autres approches pour l'exercice Acronyme dans le parcours Scala

D'autres façons dont notre communauté a résolu cet exercice