【问题标题】:How to open file in java and parse each line如何在java中打开文件并解析每一行
【发布时间】:2018-05-20 16:05:34
【问题描述】:

我有一个包含如下数据的文本文件:

发件人ID:1/序列号:0/深度:600/发送时间:13/05/2018 11:17:17 ص/data:您好,我是 AUV:1 这是来自我的聚合 #0 sideEnd-End 延迟:0.357072263241232 发件人 id:0/序列号: 0/深度:700/发送时间:13/05/2018 11:17:17 ص/数据:你好我是 AUV: 0 这是聚合# 0 从我的 sideEnd-End 延迟:0.293693984840975 发件人ID:2/序列号:0/深度:500/发送时间:13/05/2018 11:17:17 ص/data:您好,我是 AUV:2 这是来自我的聚合 #0 sideEnd-End 延迟:0.421466419584594 发件人 id:3/序列号: 0/深度:400/发送时间:13/05/2018 11:17:17 ص/数据:你好我是 AUV: 3 这是聚合 # 0 从我的 sideEnd-End 延迟:0.486473186901286 发件人ID:3/序列号:1/深度:400/发送时间:13/05/2018 11:17:18 ص/data:您好,我是 AUV:3 这是来自我的聚合 #1 sideEnd-End 延迟:0.486473186901286 发件人 id:1/序列号: 0/深度:600/发送时间:13/05/2018 11:17:21 ص/数据:你好我是 AUV: 1 这是聚合# 0 从我的 sideEnd-End 延迟:0.32221205728025 发件人ID:0/序列号:0/深度:700/发送时间:13/05/2018 11:17:21 ص/data:您好,我是 AUV:0 这是来自我的聚合 #0 sideEnd-End延迟:0.267329486404354

每一行都以end-end延迟结束,例如line#1:

发件人ID:1/序列号:0/深度:600/发送时间:13/05/2018 11:17:17 ص/data:您好,我是 AUV:1 这是来自我的聚合 #0 sideEnd-End延迟:0.357072263241232

我需要把这个文件分成其他文件,每个文件对应一个特定的发件人ID。

每个文件将仅包含每个发送者 ID 的端到端延迟值,例如 0.357072263241232。

我有 4 个发件人,所以会生成 4 个文件...

有什么帮助或提示吗?

我没有使用正则表达式的经验!

【问题讨论】:

  • 问题:您确定每一行都没有以换行符或回车符结尾吗?
  • 每行以新行结束,每行末尾有一个双精度值...

标签: java regex parsing file-io


【解决方案1】:

尝试正则表达式:sender\sid:\s(\d+).*?End-End\sDelay:(\d+(?:\.\d+)?)

Demo

组 1 将具有发件人 ID

第 2 组将具有结束 - 结束延迟值

【讨论】:

  • 如何将它与打开文件方法一起使用并将结果存储在正确的文件中并带有附加选项?
  • 恐怕我无法为您提供确切的 Java 代码。这个link 可能是你的起点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 1970-01-01
  • 2018-01-30
  • 1970-01-01
  • 2016-01-31
相关资源
最近更新 更多