Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将字符串转换为macAddress格式_Java_String - Fatal编程技术网

在java中将字符串转换为macAddress格式

在java中将字符串转换为macAddress格式,java,string,Java,String,我想知道用Java将字符串“00155D038D01”转换为MacAddress格式的最简单方法。显然 public String convertToMacAddress(String input) { if (input.equals("00155D038D01") { return "00-15-5D-03-8D-01"; } return null; } 试试正则表达式 char divisionChar = ':';//change to '-'

我想知道用Java将字符串“00155D038D01”转换为MacAddress格式的最简单方法。

显然

public String convertToMacAddress(String input) {
   if (input.equals("00155D038D01") {
       return "00-15-5D-03-8D-01";
   } 

   return null; 
}
试试正则表达式

char divisionChar = ':';//change to '-' if you want your mac to be like 00-15-5D-03-8D-01
String unformattedMAC = "00155D038D01";
String formattedMAC = unformattedMAC.replaceAll("(.{2})", "$1"+divisionChar).substring(0,17);

可直接使用您拥有的所有MAC地址

String s = "00155D038D01";
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length();)
{
    sb.append(s.substring(i++, ++i));
    if(i < s.length()) sb.append("-");
}
String mac = sb.toString();
String s=“00155D038D01”;
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
我想说
“00155D038D01”。replaceAll(“(..)(?!$)”,“$1-”
是最简单的:)

字符串地址=“00155D038D01”;
StringBuilder sb=新StringBuilder(地址);
对于(int i=2;i
mac地址格式是什么意思<代码>00:15:5D:03:8D:01
00-15-5D-03-8D-01
或者其他什么?这是一个声明,不是一个问题。请阅读常见问题解答:确切地说,我需要将字符串的格式设置为00-15-5D-03-8D-01..+1这确实是最简单的方法,但是它不是一个转换+1,这肯定是OP要求的:)谢谢@thai的回复,但我需要字符串的一般解决方案..这样我就可以将任何字符串转换为上面建议的machAdress..谢谢Hanks@Harlandraka我的问题解决了..非常感谢..我想它是最好的解决方案..再次感谢您可以更具体一些:替换“{2}”“[0-9A-F]{2}”+1比harlandraka的答案好。
String address = "00155D038D01";
StringBuilder sb = new StringBuilder(address);

for(int i = 2; i < address.length()+(i/3); i+=3){
   sb.insert(i, ':');
}

System.out.println(sb.toString());