Scala: как я могу разделить строку на карту
Окружающая Среда: Scala 2.10+ IDE: Eclipse Kepler
У меня есть строка
NAME=bala AGE=23 COUNTRY=Singapore
Как я могу получить его в виде карты
Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)
3 ответа:
Еще одно решение
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)
Я пришел к чему-то вроде этого, но я почти уверен, что есть более эффективный способ:
val line = "NAME=bala AGE=23 COUNTRY=Singapore" line.split(" ").map(_.split("=")).map(arr => arr(0) -> arr(1)).toMap
Это дало мне:
res10: scala.collection.immutable.Map[String,String] = Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)