2017-10-19 141 views
3

舉例來說,如果這是我斯卡拉 - 使用特定的分隔符

a|1 
b|2 
c|3 

字符串獲得一個字符串,並創建一個字典功能的方式如何創建這樣一個字典:

dic[a] => 1 
dic[b] => 2 
dic[c] => 3 

tried to do: 

string.split("\n").map(_.split("|") ????? 

回答

1

像這樣的:

val str = 
    """|a|1 
    |b|2 
    |c|3""".stripMargin 

str 
.split("\\n") 
.map(_.split("\\|")) 
.map { case Array(key, value) => (key, value) } 
.toMap 

產量:

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

如果你在單個字符上進行分割,你可以使用'.lines'來分割成單行和'_ split'|''。只是一點點清潔。 –