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

Lar*_*nal 0 scala

我想把这个字符串:

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

进入这个:

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

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

Vin*_*ana 6

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

  • `.map {val pair = _.split(':'); pair(0) - > pair(1)} .toMap`会稍微高效一点. (3认同)