将字符串列表提取到多个列表中

时间:2018-12-25 04:59:50

标签: scala generics

我有一个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")

2 个答案:

答案 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)