How to move the n word to the end of a string in Scala

1 Answer

0 votes
object MoveWordApp {

  def moveNthWordToEndOfString(input: String, n: Int): String = {
    val trimmed = input.trim
    if (trimmed.isEmpty) return trimmed

    val parts = trimmed.split("\\s+").toList

    if (n < 0 || n >= parts.length)
      throw new IndexOutOfBoundsException(s"Index $n out of range")

    val (before, atAndAfter) = parts.splitAt(n)
    val word = atAndAfter.head
    val remaining = before ++ atAndAfter.tail

    (remaining :+ word).mkString(" ")
  }

  def main(args: Array[String]): Unit = {
    val s = "Would you like to know more? (Explore and learn)"
    val n = 2

    val result = moveNthWordToEndOfString(s, n)
    println(result)
  }
}
 
  
  
  
/*
run:
  
Would you to know more? (Explore and learn) like
  
*/

 

 



answered Feb 6 by avibootz
...