Bal*_*laB 6 scala scala-2.8 scala-collections scala-2.10
环境:Scala 2.10+ IDE:Eclipse Kepler
我有一条线
NAME=bala AGE=23 COUNTRY=Singapore
我如何将其作为地图获取
Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
om-*_*nom 14
又一个解决方案
val str = "NAME=bala AGE=23 COUNTRY=Singapore"
val pairs = str.split("=| ").grouped(2)
val map = pairs.map { case Array(k, v) => k -> v }.toMap
// Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
Run Code Online (Sandbox Code Playgroud)
我想到了这样的事情,但我几乎可以肯定有更有效的方法:
val line = "NAME=bala AGE=23 COUNTRY=Singapore"
line.split(" ").map(_.split("=")).map(arr => arr(0) -> arr(1)).toMap
Run Code Online (Sandbox Code Playgroud)
这给了我:
res10: scala.collection.immutable.Map[String,String] = Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
Run Code Online (Sandbox Code Playgroud)