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

項目中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地址,如果不符合規(guī)范會拋出異常
參數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類下就能直接用日麸。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末寄啼,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子代箭,更是在濱河造成了極大的恐慌墩划,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗡综,死亡現場離奇詭異乙帮,居然都是意外死亡,警方通過查閱死者的電腦和手機极景,發(fā)現死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門察净,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驾茴,“玉大人,你說我怎么就攤上這事氢卡」嫡牵” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵异吻,是天一觀的道長裹赴。 經常有香客問我,道長诀浪,這世上最難降的妖魔是什么棋返? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮雷猪,結果婚禮上睛竣,老公的妹妹穿的比我還像新娘。我一直安慰自己求摇,他們只是感情好射沟,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著与境,像睡著了一般验夯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摔刁,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天挥转,我揣著相機與錄音,去河邊找鬼共屈。 笑死绑谣,一個胖子當著我的面吹牛,可吹牛的內容都是我干的拗引。 我是一名探鬼主播借宵,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼矾削!你這毒婦竟也來了壤玫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤怔软,失蹤者是張志新(化名)和其女友劉穎垦细,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體挡逼,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年腻豌,在試婚紗的時候發(fā)現自己被綠了家坎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘱能。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖虱疏,靈堂內的尸體忽然破棺而出惹骂,到底是詐尸還是另有隱情,我是刑警寧澤做瞪,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布对粪,位于F島的核電站,受9級特大地震影響装蓬,放射性物質發(fā)生泄漏著拭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一牍帚、第九天 我趴在偏房一處隱蔽的房頂上張望儡遮。 院中可真熱鬧,春花似錦暗赶、人聲如沸鄙币。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽十嘿。三九已至,卻和暖如春岳锁,著一層夾襖步出監(jiān)牢的瞬間详幽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工浸锨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唇聘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓柱搜,卻偏偏與公主長得像迟郎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子聪蘸,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容