美文网首页Android开发Android开发Android技术知识
java格式化mac地址(加分隔符,去分隔符)

java格式化mac地址(加分隔符,去分隔符)

作者: 青衿尘 | 来源:发表于2018-11-30 15:38 被阅读2次

项目中MAC地址经常需要格式化,有的需要分隔符,有的不需要分隔符,比较烦。自己实现了这两个方法,大佬轻喷

1、类似12ae5bac34c4中间无分隔符,需要在中间加入分隔符(:或者-),最终效果:12:ae:5b:ac:34:c4

方法:

public static String formatMac(String mac, String split) {
        String regex = "[0-9a-fA-F]{12}";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(mac);

        if (!matcher.matches()) {
            throw new IllegalArgumentException("mac format is error");
        }

        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < 12; i++) {
            char c = mac.charAt(i);
            sb.append(c);
            if ((i & 1) == 1 && i <= 9) {
                sb.append(split);
            }
        }

        return sb.toString();
    }

参数mac是无分隔符的12位mac地址,如果不符合规范会抛出异常
参数split是你需要的分隔符

2、类似12:ae:5b:ac:34:c4或者12-ae-5b-ac-34-c4中间有分隔符,需要去掉分隔符(:或者-),最终效果:12ae5bac34c4

方法:

public static String formatMac1(String mac) {
        String regex = "(([a-f0-9]{2}:)|([a-f0-9]{2}-)){5}[a-f0-9]{2}";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(mac);

        if (!matcher.matches()) {
            throw new IllegalArgumentException("mac format is error");
        }

        return mac.replaceAll("[:-]", "");
    }

参数mac是有分隔符17位地址,如果不符合那两种格式会抛出异常

都是static的,粘到自己utils类下就能直接用。

相关文章

  • java格式化mac地址(加分隔符,去分隔符)

    项目中MAC地址经常需要格式化,有的需要分隔符,有的不需要分隔符,比较烦。自己实现了这两个方法,大佬轻喷 1、类似...

  • 清理浮动 解决浮动父容器高度塌陷问题

    方案1 方案2 分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符分隔符 都向左浮动,...

  • iOS 时间格式化符总结

    各种时间字符说明(:)时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔...

  • IOS-时间的格式化

    1.字符说明(:)时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时...

  • awk

    [toc] 1、简单例子 2、分隔符 指定分隔符,正则指定 :-F "\t" :表示分隔符为\tFS:表示分隔符F...

  • 字符串分隔成数组(有分隔符和无分隔符)

    有分隔符(例如:,) 无分隔符

  • awk

    字段和记录分隔符变量 变量描述FS输入字段分隔符,默认是空格OFS输出字段分隔符 默认也是空格RS输入行分隔符,默...

  • EXCEL特训营第10期 第8节(11.9)

    快速提取分列信息 基本用法:1、分隔符号 2、固定宽度 1、分隔符号,比如/ , - 等分隔符 2、固定宽度:举例...

  • 八、分列 快速提取有效信息

    1.基本用法 分隔符号 数据—分列——分隔符号—根据分隔符号选择—目标区域(旁边区域) 固定宽度 数据—分列——固...

  • 通过分列快速提取有效信息文本

    一、基本用法 1.分隔符号 【数据】-【分列】-【分隔符号】-选择分隔符号,【目标区域】选择新区域的空单元格-确定...

网友评论

    本文标题:java格式化mac地址(加分隔符,去分隔符)

    本文链接:https://www.haomeiwen.com/subject/dofhcqtx.html