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

Scala 如何拆分列表(Int,String)元组的字符串为小写单词并保留原Int值

函数实现

你猜测的字符串处理逻辑是可行的,完整实现如下:

def a(l: List[(Int, String)]): List[(Int, String)] = {
  l.flatMap { case (num, str) =>
    // 处理字符串:替换非字母字符为空格、转小写、按空格拆分、过滤空字符串
    str.replaceAll("[^A-Za-z]+", " ")
      .toLowerCase()
      .split(" ")
      .filter(_.nonEmpty)
      .map(word => (num, word))
  }
}

逻辑说明

  • 用flatMap遍历原List,同时将每个原元组生成的多组新元组合并为一维List
  • 字符串处理步骤和你猜测的一致,replaceAll("[^A-Za-z]+", " ")会把所有非字母的连续字符统一替换为单个空格,减少无效拆分结果
  • 调用split(" ")拆分后加filter(_.nonEmpty)是为了兼容原字符串首尾带非字母字符的场景,防止生成空的单词项
  • 每个拆分出的单词都和原元组的Int值配对,保证对应关系正确

你提供的示例输入运行后输出完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 19:45:00