将文件中的所有值相加

时间:2018-10-22 02:14:22

标签: python logging

我有一个巨大的313,000 Line日志,如下所示。我正在尝试找到一种快速添加所有在线播放器的方法:(number)/100。因此,基本上将所有(Number)加在一起。有什么想法吗?

不查找Java代码,我只知道python和批处理

谢谢

数据示例:

[04-28-2018 22:49:30] TPS: 20.0
Memory free: 2394.0/4551.0 (52%)
Players online: 19/100
Total chunks loaded: 8413
Total entities: 1532

1 个答案:

答案 0 :(得分:0)

一种不错的方法是通过正则表达式和流:

final Pattern pattern = Pattern.compile("Players online: (\\d+)/100");
int total = Files.lines("filename")
    .map(pattern::matcher).filter(Matcher::matches)
    .map(m -> matcher.group(1))
    .mapToInt(Integer::valueOf).sum();

如果您不熟悉流,则将文件转换为字符串流,然后通过正则表达式将其转换为整数,然后将其求和。