2017-09-19 3 views
-1

J'ai un programme qui prendra un IP LAN fourni, je dois alors être en mesure de modifier seulement le dernier octet de l'IP, les 3 premiers resteront les mêmes en fonction de ce qui a été entré dans le champ de texte IP LAN. Par exemple: L'utilisateur saisit 192.168.1.97 en tant qu'IP IP dont j'ai besoin pour pouvoir manipuler le dernier octet "97". Comment procéder pour que je puisse avoir une autre variable ou chaîne qui aurait 192.168.1.100 ou tout ce que je veux définir dans le dernier octet.Java comment modifier adresse IP qui a été entré comme une chaîne

Répondre

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 

Ensuite, si vous souhaitez définir le dernier octet à 100, il suffit de faire:

String newIp = firstThreeOctet + ".100"; // 192.168.1.100 
0

Vous pouvez utiliser ces méthodes

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; 
} 
0

Remplacer le numéro à la fin de l'entrée.

String ipAddress = "192.168.1.97"; 
String newIpAddress = ipAddress.replaceFirst("\\d+$", "100")