我有一个提供LAN IP的程序,然后我需要能够修改IP的最后一个八位字节,前三个将根据LAN IP文本字段中输入的内容保持不变。
例如: 用户输入192.168.1.97作为LAN IP我需要能够操作最后一个八位字节“97”,我将如何去做,所以我可以有另一个变量或字符串,可以说192.168.1.100或我想要的任何其他设置在最后一个八位字节。
答案 0 :(得分:0)
String ip = "192.168.1.97";
// cut the last octet from ip (if you want to keep the . at the end, add 1 to the second parameter
String firstThreeOctets = ip.substring(0, ip.lastIndexOf(".")); // 192.168.1
String lastOctet = ip.substring(ip.lastIndexOf(".") + 1); // 97
然后,如果要将最后一个八位字节设置为100,只需执行:
String newIp = firstThreeOctet + ".100"; // 192.168.1.100
答案 1 :(得分:0)
您可以使用这些方法
public static byte getLastOctet(String ip) {
String octet = ip.substring (ip.lastIndexOf('.') + 1);
return Byte.parseByte(octet);
}
public static String setLastOctet(String ip, byte octet) {
return ip.substring(0, ip.lastIndexOf ('.') + 1) + octet;
}
答案 2 :(得分:0)
替换输入末尾的数字。
String ipAddress = "192.168.1.97";
String newIpAddress = ipAddress.replaceFirst("\\d+$", "100")