/ / Scala. Ako získajte posledné slovo v reťazci [zatvorené] - scala

Scala. Ako získať posledné slovo v reťazci [closed] - scala

Ako získať slovo v reťazci Strla za predpokladu, že slová sú rozdelené medzerou?

Príklad:

val s = "Hello world1, world2, world"

Očakávaný výkon: "world"

odpovede:

0 pre odpoveď č. 1

Chcel by som ísť string.split(" ").lastOption, Majte však na pamäti, že namiesto medzery sa môžu použiť aj iné prázdne znaky


1 pre odpoveď č. 2
   def lastW(s: String) = {
@tailrec
def lw(s: Array[Char], i: Int = s.length-1, w: String=""): String = s(i) match {
case(" ") => w
case c if i == 0 => c+w
case c => lw(s, i-1, c+w)
}
lw(s.toCharArray)
}

Nie, len si robím srandu. Len to urobte:

 string.split("").reverse.takeWhile(_ != " ").reverse.mkString("")

Alebo toto:

  string.replaceAll("^.* ", "")

Alebo toto:

 "\S+$".r.findFirstIn(string).get

Alebo možno:

 string.split(" ").last

alebo

 string.split(" ").reverse.head

Atď.