首页 文章

如何通过使用scala匹配字符串来获取列表元素?

提问于
浏览
0

我有以下清单 -

List((name1,233,33),(name2,333,22),(name3,444,55),())

我有另一个字符串,我想与列表匹配,并从列表中获取匹配的元素 . 列表中只有一个元素与给定的字符串匹配 .

该列表可能包含一些空元素,如上面列表中的最后一个元素所示 .

假设我正在加工字符串'name2',它只会在列表中出现一次,然后我的预期输出是 -

List(name2,333,22)

如何使用scala找到匹配的列表元素?

2 回答

  • 4

    考虑元组列表上的 collect ,例如像这样,

    val a = List(("name1",233,33),("name2",333,22),("name3",444,55),())
    

    然后

    a collect {
      case v @ ("name2",_,_) => v
    }
    

    如果只想要第一次出现,请使用 collectFirst . 此部分函数忽略不包含3个项目的元组 .

  • 6
    .find(_._1 == name2)
    

    会更好

相关问题