在学习的过程中,我正在尝试阅读网络日志并从中提取少量字段。网络日志将如下所示
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(第3个字段)并打印为
147.172.225.10/16401
147.172.225.10/16401
23.53.29.101/32693
如果我必须使用map或flatMap,有人可以帮助我如何让我知道是否有更好的方法来实现它。在此先感谢!!
答案 0 :(得分:0)
对于weblog中的每一行(作为字符串),您可以在空白字符的基础上使用split方法,并且在拆分后将返回一个字符串数组,通过它,您可以提取所需的值。
lines map { line =>
val lineArray = line.split(" ")
lineArray(0), lineArray(2)
}
答案 1 :(得分:0)
谢谢大家,我在下面用来获得所需的结果。
{{1}}