我正在编写将Set[Tuple2[String, String]]
转换为String
的方法,反之亦然
我将字符串值保存为v1,v2#v3,v4#v5,v6
为了填充Set
我将字符串拆分为','并为了提取值,我尝试将每个值拆分为'#',但我收到< / p>
type mismatch:found:x.type(底层类型为Array [String]
我尝试使用的代码是
val x = overwriters.split("#")
for(tuple <- x) {
tuple.split(",")
}
返回的split类型是一个String数组,所以我不清楚为什么我不能拆分返回数组的每个成员
答案 0 :(得分:2)
overwrites.split("#").map(_.split(",")).map(x=> (x(0),x(1))).toSet
这将以更加惯用的方式实现。
答案 1 :(得分:2)
tuple.split(",")
返回两个元素的数组。您需要将其转换为元组。
val overwriters ="v1,v2#v3,v4#v5,v6"
val x = overwriters.split("#").toSet
for(tuple <- x) yield {
val t = tuple.split(",")
(t(0),t(1))
}