gpt4 book ai didi

java - 无法删除我的 ip_address 中的前导零

转载 作者:行者123 更新时间:2023-11-29 06:49:33 24 4
gpt4 key购买 nike

该函数应该从 IPv4 地址中删除前导零。例如,地址 007.006.02.90 应该转换为 7.6.2.90。似乎问题出在这一行:

public static String zero_cutter(String ip) {
String ipnew;
String [] spliti = ip.split(".");
int[] myArray = new int[4];

for (int i = 0; i < 4; i++) {
myArray [i] = Integer.parseInt(spliti [i]);
}

for (int i = 0; i < 4; i++) {
spliti [i] = Integer.toString(myArray [i]);
}
ipnew = spliti [0] + "." + spliti [1] + "." + spliti [2] + "." + spliti [3];

return ipnew;
}

最佳答案

您必须转义模式中的 . 字符,因为点是匹配任何字符的特殊字符(根据 java.util.regex.Pattern javadoc )。

Predefined character classes

. Any character (may or may not match line terminators)

一种方法是在模式中使用 \\:

String[] spliti = ip.split("\\.");\

但是您可以将代码替换为 InetAddress类:

String ip = "007.006.002.090";
InetAddress addr = InetAddress.getByName(ip);
System.out.println(addr.getHostAddress()); // 7.6.2.90

关于java - 无法删除我的 ip_address 中的前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53434822/

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