gpt4 book ai didi

java - 提取 ping 消息的值

转载 作者:行者123 更新时间:2023-12-01 14:34:53 25 4
gpt4 key购买 nike

我正在 android 上开发一个执行 ping 请求(通过 android shell)的应用程序,并且我从控制台读取了显示的消息。典型的消息如下

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=186 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=209 ms

--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 186.127/197.891/209.656/11.772 ms

我将上述消息存储在字符串中。我想提取时间值,例如 186 和 209,以及损失百分比 0(在本例中)。

我正在考虑遍历字符串并查看“time=”之后的值。但是我不知道该怎么做。如何操作我拥有的字符串以提取值?

最佳答案

首先获取字符串的每一行:

String[] lines = pingResult.split("\n");

然后,循环并使用子字符串。

for (String line : lines) {
if (!line.contains("time=")) continue;
// Find the index of "time="
int index = line.indexOf("time=");

String time = line.substring(index + "time=".length());
// do what you will
}

如果你想解析为 int,你还可以这样做:

int millis = Integer.parseInt(time.replaceAll("[^0-9]", ""));

这将删除所有非数字字符

您可以对百分比执行类似的操作:

for (String line : lines) {
if (!line.contains("%")) continue;

// Find the index of "received, "
int index1 = line.indexOf("received, ");

// Find the index of "%"
int index2 = line.indexOf("%");

String percent = line.substring(index1 + "received, ".length(), index2);
// do what you will
}

关于java - 提取 ping 消息的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com