我有以下各种格式的字符串值。
val str = "column: [year,id], condition: >10"
val str = "column: year, condition: ==1984"
val str = "column: id"
val str = "column: [UPDT_DT,id],condition: == 1.0"
我需要将它们转换为映射类型键值对。
预期输出:
val str_map = Map("column" -> ["year","id"]),("condition" -> ">10")
val str_map = Map("column" -> "year"), ("condition" -> "==1984")
val str_map = Map("column" -> "id")
val str_map = Map("column: -> ["UPDT_DT","id"]),("condition" -> "== 1.0")
我尝试了下面的代码:
val str_map = str.split(",").map(row => row.split(":")).map(kv => (kv(0), kv(1).trim)).toMap
这会导致错误,因为列表值有,
. 需要帮忙!我主要只对价值观感兴趣column
。如何column
有效地提取值。
你可以尝试这样的事情:
除非某些值碰巧包含看起来像单词的子字符串,后跟分号(例如
foo:
),否则这将起作用或者,如果唯一的两个键是“列”和“条件”,并且您只对评论中提到的前者感兴趣,那么:
将为您提供值
column
(除非它恰好包含“条件:”作为子字符串)。