给定以下 Map("DIAMOND"-> "DAYMAHND", "THOUSAND"-> "THAWZAHND"),我想获取当前 map 中每个项目的值,并使用以下值更新新 map 中的这些值最后一个元音及其后面的所有其他单词作为值,相同的单词作为键。我该如何在 Scala 中做到这一点?我听说有人通过使用 .stripSuffix() 来实现这一点。 ( map 是不可变的)
输入:Map("DIAMOND"-> "DAYMAHND", "THOUSAND"-> "THAWZAHND")
输出:Map("DIAMOND"-> "AHND", "THOUSAND"-> "AHND")
我的尝试:
val table1 = Map("DIAMOND" -> "DAYMAHND", "THOUSAND" -> "THAWZAHND")
val table2 = table1.map { case (key, value) =>
val string_2 = value
.reverse
.takeWhile("AEIOU".indexOf(_) ==
-1)
(key, string_2 + value.charAt(value.length
- 1 - string_2.length))
}
.toMap
最佳答案
table1.mapValues(w => w.drop(w.lastIndexWhere("AEIOU".contains(_))))
关于java - 如何在 Scala 中获取字符串的最后一个元音及其后面的任何单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54685323/