【发布时间】:2015-07-01 22:42:10
【问题描述】:
由于我是 scala 的新手,这个问题对所有人来说可能看起来非常基本..
我有一个名为 data.txt 的文件,其中包含如下内容:
xxx.lss.yyy23.com-->mailuogwprd23.lss.com,Hub,12689,14.98904563,1549
xxx.lss.yyy33.com-->mailusrhubprd33.lss.com,Outbound,72996,1.673717588,1949
xxx.lss.yyy33.com-->mailuogwprd33.lss.com,Hub,12133,14.9381027,664
xxx.lss.yyy53.com-->mailusrhubprd53.lss.com,Outbound,72996,1.673717588,3071
我想根据xxx.lss.yyy23.com中的数字拆分行并查找记录
val data = io.Source.fromFile("data.txt").getLines().map { x => (x.split("-->"))}.map { r => r(0) }.mkString("\n")
这给了我
xxx.lss.yyy23.com
xxx.lss.yyy33.com
xxx.lss.yyy33.com
xxx.lss.yyy53.com
这就是我要计算的确切值...
data.count { x => x.contains("33")}
如何获取不包含 33 条的记录的计数...
【问题讨论】:
-
我想你想要
length而不是count,而且它必须在列表上而不是在println上调用。 -
@pedrofurla No..length 将给出字符串的字符数..
-
检查
getLines()返回的内容。 -
您也可以将
filter替换为count以获得相同的结果。不管怎样,我向你保证println(...).count毫无意义。 -
Yaa...我已经更新了问题..