Scala-打印文件中每行中的特定字段

Scala-打印文件中每行中的特定字段,scala,Scala,在学习过程中,我试图阅读一个网络日志,并从中提取几个字段。网络日志如下所示 147.172.225.10 - 16401 [16/Sep/2013:23:52:35 +0100] "GET /KBDOC-00057.html HTTP/1.0" 200 11761 "http://www.newbie.com" "test F20L" 147.172.225.10 - 16401 [16/Sep/2013:23:52:35 +0100] "GET /theme.css HTTP/1.0" 20

在学习过程中,我试图阅读一个网络日志,并从中提取几个字段。网络日志如下所示

147.172.225.10 - 16401 [16/Sep/2013:23:52:35 +0100] "GET /KBDOC-00057.html HTTP/1.0" 200 11761 "http://www.newbie.com"  "test F20L"
147.172.225.10 - 16401 [16/Sep/2013:23:52:35 +0100] "GET /theme.css HTTP/1.0" 200 12353 "http://www.newbie.com"  "test Mobile Browser Sorrento F20L"
23.53.29.101 - 32693 [16/Sep/2013:23:49:50 +0100] "GET /KBDOC-00035.html HTTP/1.0" 200 9337 "http://www.newbie.com"  "test Mobile Browser i3"
我只需要从日志中提取IP地址和用户id(第三个字段),然后打印为

147.172.225.10/16401
147.172.225.10/16401
23.53.29.101/32693
如果我必须使用地图或平面地图,有人可以帮助我如何,让我知道是否有更好的方法来完成它。提前谢谢

对于日志中的每一行(作为字符串),您可以使用基于空白字符的split方法,分割后将返回一个字符串数组,使用该数组,您可以提取所需的值

lines map { line =>
  val lineArray = line.split(" ")
  lineArray(0), lineArray(2)
}

谢谢大家,我用下面的方法得到了所需的结果

map(line => line.split(' ')).map(fields => (fields(0) + "/" + fields(2)))