这是我用来尝试解决问题的代码:
Source.fromFile(file).getLines()
.foreach{ line =>
line.split(" - - | \"POST | HTTP/1.1\" ")
.foreach(word => println(word))
}
这是我的三个字符串
192.168.9.230 - - [24/Apr/2017:08:58:06 +0800] "POST /dvr-gateway/api/genl/user/login HTTP/1.1" 200 211
192.168.32.145 - - [24/Apr/2017:08:58:07 +0800] "POST /dvr-gateway/api/genl/org/find HTTP/1.1" 200 126
192.168.2.54 - - [24/Apr/2017:08:58:52 +0800] "POST /dvr-gateway/api/genl/user/login HTTP/1.1" 200 211
我只想要文件的IP地址和地址。 例如,我希望它打印到:
192.168.9.230
/dvr-gateway/api/genl/user/login
答案 0 :(得分:0)
解决此问题的最简单方法是将split
的结果分配给变量,并保留第一个和第三个元素。
Source.fromFile(file).getLines().foreach{ line =>
val splits = line.split(" - - | \"POST | HTTP/1.1\" ")
List(splits(0), splits(2)).foreach(word => println(word))
}