How to reverse the middle words of a string in Scala

1 Answer

0 votes
def reverseMiddleWords(input: String): String = {
  val words = input.split("\\s+")
  val lastIdx = words.length - 1

  words.zipWithIndex.map {
    case (word, index) if index > 0 && index < lastIdx => 
      word.reverse // Reverse characters of middle words
    case (word, _) => 
      word // Keep first and last words as is
  }.mkString(" ")
}

val s = "Hello how are you today"

println(reverseMiddleWords(s)) 



/*
run:

Hello woh era uoy today

*/

 



answered Dec 25, 2025 by avibootz
...