java作为行的特定部分
嗨,我有一个包含跟踪路由和ping的日志文件。 我用手指把它们分开
if (scanner.nextLine ().startsWith ("64 bytes"){}
所以我现在可以只处理ping
我对ping感兴趣的是time=XX
示例数据行=
64 bytes from ziva.zarnet.ac.zw (209.88.89.132): icmp_seq=119 ttl=46 time=199 ms
我一直在阅读其他人提出的类似问题,我不知道如何应用到我的问题上
我确实需要的只是数字,因为我将把他们放入一个csv文件,这样我可以使数据的图表
编辑:使用robins解决方案,我现在在屏幕上看到我的ping被喷射出来,除了它每隔一次进行一次,并且错过了第一次
while (scanner.hasNextLine ()) {
//take only pings.
if (scanner.nextLine ().startsWith ("64 bytes")){
String line = scanner.nextLine ();
String pingAsString = line.substring (line.lastIndexOf ("=") + 1, (line.length () - "ms".length ()));
Double ping = Double.valueOf (pingAsString);
System.out.println ("PING AS STRING = "+ping);
}
}
好的。这只需要移动线路分配。帽子。但是说得很清楚D
# 1 楼答案
尝试使用RegularExpression提取所需的数据:
# 2 楼答案
或者,如果不想执行reg ex magic,您可以使用
String
上的可用方法# 3 楼答案
你的问题是,你称之为:
这意味着该行被抓取,但未指定给变量。结果立即被测试为startingWith,但随后您再次调用nextLine,并获得下一行,当然:
这是第二行