要映射的键值对的字符串

时间:2016-02-11 17:55:37

标签: scala

我有以下模式的字符串。 "\key1\value1\key2\value2\..."

如何将它们优雅地变成Map("key1" -> "value1", "key2" -> "value2")

1 个答案:

答案 0 :(得分:6)

你的例子是一个无效的字符串文字,因为\是转义字符,所以我假设你想要在每个值和键之前使用一个字符,甚至在第一个之前。

如果是这种情况,你可以按照你想要的那样做:

val s = """\key1\value1\key2\value2"""
s.split('\\').toList.tail.grouped(2).map{case List(a,b) => a -> b}.toMap

查阅List上的API文档以查找操作正在执行的操作。