簡體   English   中英

Scala:讀取文本文件並根據值列表進行過濾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM