我有一个scala列表,看起来像:
val list = List("2.56.7", "1.34.67")
我想要这样的O / P:
List(List("2", "56", "7"), List("1", "34", "67")
我尝试了以下代码段,但没有成功:
list.map(_.split("\\."))
我想要这样的O / P:
List(List("2", "5", "6"), List("1", "34", "67")
答案 0 :(得分:3)
您的代码几乎正确,但是split
返回Array
而不是List
,因此您需要将结果转换为List
。
list.map(_.split("\\.").toList)
答案 1 :(得分:1)
这是一个有效的脚本。我们可以尝试在外部列表上使用map
,并使用lambda将每个字符串映射到另一个元素映射。
val list = List("2.56.7", "1.34.67")
val result = list.map(x => x.split("\\.").map(_.trim).toList)
def printList(args: List[_]): Unit = {
args.foreach(println)
}
printList(result)
List(2, 56, 7)
List(1, 34, 67)