将带有嵌套分隔符的字符串转换为映射

时间:2013-09-27 17:55:25

标签: scala

我想转动这个字符串:

"1:a|2:b|3:c"

进入这个:

Map(1 -> "a", 2 -> "b", 3 -> "c")

我有一个有效的程序方法,但似乎应该有一个更实用的方法。

2 个答案:

答案 0 :(得分:6)

val a = [YOUR STRING]
a.split('|').map(_.split(':')).map(a => (a(0) -> a(1))).toMap

答案 1 :(得分:1)

val s = "1:a|2:b|3:c"

"(\\d+)\\:(\\w+)".r.findAllMatchIn(s).map( m => (m.group(1).toInt -> m.group(2)) ).toMap