2015-11-24 3 views
-1

Прошло некоторое время с тех пор, как я использовал java. Я пытаюсь преобразовать MAC-адрес с 00: 00: 00: 00: 00: 00 в формат 0000.0000.0000. Программа очень проста и просто просит пользователя ввести адрес mac. Затем он должен преобразовать его и отобразить преобразованный MAC-адрес. Я думаю, что я близка, но просто не знаю, как правильно получить формат. Выход, который я получаю, теперь имеет. в нужном месте, но я не знаю, как вынуть двоеточия. Любая помощь приветствуется.Запросить помощь в преобразовании формата MAC-адреса в другой формат

import java.util.*; 

public class macAdd { 

public static void main(String[] args) 
    {   
    Scanner userinput = new Scanner(System.in); 
    String mac; 
    System.out.print("Copy and paste the MAC address from system : "); 
    mac = userinput.next(); 

    char macDivide = '.'; 
    String newMac = mac.replaceAll("(.{4})", "$1"+macDivide); 

    System.out.println("Paste the following result into the system"); 
    System.out.println(" This is the correct mac " + newMac);    
}  
+0

Если '.' находятся в нужном месте и все просто вызывает' newMac = newMac.replaceAll (":", ""); 'that should work – 3kings

ответ

6

Вы можете использовать что-то вроде этого, чтобы преобразовать:

String mac = "00:00:00:00:00:00"; 
mac.replaceAll("(\\d{2}):(\\d{2})", "$1$2").replace(':', '.'); 

Он работает путем замены все 00:00 с 0000 (удаление толстой кишки). Это оставит вас с 0000:0000:0000, тогда вы просто замените двоеточие на период.

Возьмите его для вращения on ideone.

+0

Используйте' replaceAll', если вы хотите использовать синтаксис regex. В других случаях используйте 'replace'. Поэтому, пожалуйста, измените '.replaceAll (": ",". ")' To 'replace (": ",". ")' Или даже лучше 'replace (':', '.')' Поскольку 'replace (char, char) 'даже не использует внутренний механизм regex (это простой цикл, который выполняет итерацию по массиву, который заменяет наши символы). – Pshemo

+0

@Pshemo - Отличная точка, обновленная, спасибо. – nickb

+0

Точно моя идея :) –