You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中如何将含键值对的Seq[String]转换为Map[String, String]

如何将带=分隔符的字符串序列转换为Map

针对你给出的Scala场景,可以通过以下方式实现转换:

基础实现(假设所有字符串格式正确)

val keysVals = Seq("Country=France", "City=Paris")
val result = keysVals.map { s =>
  // 用split("=", 2)确保只分割一次,避免值中包含=时被错误拆分
  val Array(key, value) = s.split("=", 2)
  key -> value
}.toMap

执行后result即为Map("Country"->"France", "City"->"Paris")。

容错实现(处理格式不正确的元素)

如果序列中可能存在不含=的无效字符串,可以用flatMap过滤掉这类元素,避免程序抛出异常:

val keysVals = Seq("Country=France", "City=Paris", "InvalidString")
val result = keysVals.flatMap { s =>
  s.split("=", 2) match {
    case Array(k, v) => Some(k -> v)
    case _ => None // 跳过格式错误的元素
  }
}.toMap

此时result会忽略"InvalidString",仅保留格式正确的键值对。

内容的提问来源于stack exchange,提问作者Didi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 23:10:45