3
我有如下形式的字符串。 "\key1\value1\key2\value2\..."
字符串键 - 值对到地图
如何能够将这些变成一个Map("key1" -> "value1", "key2" -> "value2")
优雅?
我有如下形式的字符串。 "\key1\value1\key2\value2\..."
字符串键 - 值对到地图
如何能够将这些变成一个Map("key1" -> "value1", "key2" -> "value2")
优雅?
你举的例子是无效的字符串文字作为\是转义字符,所以我想你连第一个之前想每个值和键之前一个字符数限制。
如果这是你可以做你想做的是这样的情况:
val s = """\key1\value1\key2\value2"""
s.split('\\').toList.tail.grouped(2).map{case List(a,b) => a -> b}.toMap
请教关于名单的API文档找到什么操作都在做。
替换当前'和'VAL S = “” s' “\键1 \值1 \键2 \值2 \哎呦” “”',那么你会得到一个异常:'s.split( '\\')。 toList.tail.grouped(2).MAP {情况下列表(A,b)=> A - > b} .toMap scala.MatchError:列表(哎呦)(的类scala.collection.immutable $ $结肠结肠) '。此外,'List#tail'是应该[避免]的部分函数(http://stackoverflow.com/a/23184020/409976)。 –
那么,总有一点你必须针对某个不变量进行编程。如果有人想在这种情况下进行错误处理,可以采用不同的方法来解决这个问题。但对于一个明显的初学者来说,这是一个简单的答案。如果他得到了这个,我们可以谈谈如何在一个全面的功能中把它变成这样。 – dth