Java如何修改作为字符串输入的IP地址

时间:2017-09-19 15:29:27

标签: java string ip subnet

我有一个提供LAN IP的程序,然后我需要能够修改IP的最后一个八位字节,前三个将根据LAN IP文本字段中输入的内容保持不变。

例如: 用户输入192.168.1.97作为LAN IP我需要能够操作最后一个八位字节“97”,我将如何去做,所以我可以有另一个变量或字符串,可以说192.168.1.100或我想要的任何其他设置在最后一个八位字节。

3 个答案:

答案 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")