[英]Scala: Read a text file and filter on list of values
我想讀取一個文本文件並過濾在特定列中僅包含某些值的行。 因此,“如果第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
但無法計算出多個值。
任何幫助表示贊賞。
要檢查是否行一個字符串的一列包含在串序列 -is:
val names = Seq("Bob", "Tom", "Fred")
然后您的filter
調用變為
...filter(line => names.contains(line(2)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.