Environment : Scala 2.10+ IDE : Eclipse Kepler
I have a line
NAME=bala AGE=23 COUNTRY=Singapore
How can I get it as a map
Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
Yet another solution
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)
I came up to something like this, but I'm almost sure there is a more efficient way:
val line = "NAME=bala AGE=23 COUNTRY=Singapore"
line.split(" ").map(_.split("=")).map(arr => arr(0) -> arr(1)).toMap
This gave me:
res10: scala.collection.immutable.Map[String,String] = Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With