我想在文本文件中读取并过滤仅包含特定列中某些值的行。所以“如果第1行,第2列包含”Bob“或”Tom“或”Fred“,则返回该行。结果只包含每行第二个元素是Bob,Tom或Fred的行。
它认为这会奏效:
val trans = io.Source.fromFile(inputFile).getLines.map(x => x.split("\11")).filter(line =>("Bob", "Tom", "Fred").contains.line(2)).toArray
但是看了之后,它确实没有意义(它并没有)。我可以使用这样的单个值来完成它:
val trans = io.Source.fromFile(inputFile).getLines.map(x => x.split("\11")).filter(line =>line(2) contains "Bob").toArray
但无法计算多个值如何做。
感谢任何帮助。
答案 0 :(得分:3)
您想要检查一行 单字符串中的一列是否包含在字符串序列中:
val names = Seq("Bob", "Tom", "Fred")
然后您的filter
来电变为
...filter(line => names.contains(line(2)))