Python实现固定长度分割字符串与MAC地址格式化

阿麦
阿麦
发布时间:2026-10-14| 4人浏览过
原创

本文介绍在Python中将长字符串按固定长度分割的方法,重点演示如何将连续MAC地址转换为带分隔符的标准格式。通过对比传统循环切片与正则表达式两种方案,展示代码实现细节及执行效率,帮助开发者掌握字符串处理的核心技巧。

Python固定长度分割字符串与MAC地址格式化

假设有一组MAC地址需要转换为特定格式,例如将字符串 '902B345FB021' 转换为 '90-2B-34-5F-B0-21'。借助Python脚本可以轻松完成此任务,其核心原理是利用字符串按固定长度进行拆分。

首先准备一个名为 mac.txt 的文件,其中保存了待处理的MAC地址数据。

50E549E32ECB 902B3413EFA6 50E549ECBA1C 902B3457B16F 1C6F65296DF9 902B34131A14 50E549E3E2F8 50E5493A2696 902B345FB021 902B34131574

方法一:基于列表遍历的拆分实现

这里提供两种实现思路供参考。第一种方法通过遍历字符列表并插入分隔符来实现。

具体代码实现如下:

方法一代码示例


#!/bin/python 
#site:WWW.jb51.net
# 
A = open('mac.txt','r') 
a = A.readlines() 
for aa in a: 
 b = list(aa.strip()) 
 c='' 
 for i in range(len(b)): 
  if i !=0: 
   if i%2 == 0: 
    c=c+'-'+b[i] 
   else: 
    c=c+b[i] 
  else: 
   c=c+b[i] 
 print c 
A.close()

方法二:基于正则表达式的高效处理

第二种方法利用Python的正则表达式模块,这种方式执行效率更高,值得推荐。

方法二代码示例


#!/bin/python 
# 
import re 
A = open('mac.txt','r') 
a = A.readlines() 
for aa in a: 
 b=re.findall(r'.{2}',aa) 
 c='-'.join(b) 
 print c 
A.close()

处理后的结果示例如下:

50-E5-49-E3-2E-CB 90-2B-34-13-EF-A6 50-E5-49-EC-BA-1C 90-2B-34-57-B1-6F 1C-6F-65-29-6D-F9 90-2B-34-13-1A-14 50-E5-49-E3-E2-F8 50-E5-49-3A-26-96 90-2B-34-5F-B0-21 90-2B-34-13-15-74 90-2B-34-18-43-BF 00-24-1D-0E-25-8D

Python在字符串处理方面功能强大,建议开发者熟练掌握相关技巧。

通用字符串分割函数实现

关于Python按固定长度(如每三个字符一组)分割字符串的具体实现。

通用分割函数代码


def cut_text(text,lenth): 
 textArr = re.findall('.{'+str(lenth)+'}', text) 
 textArr.append(text[(len(textArr)*lenth):]) 
 return textArr 
 
print(cut_text('123456789abcdefg',3)) 
 
['123', '456', '789', 'abc', 'def', 'g'] 

第二种方法的代码示例:

正则表达式直接匹配示例


>>> import re
>>> string = '123456789abcdefg'
>>> re.findall(r'.{3}', string)
['123', '456', '789', 'abc', 'def']
>>>

本文介绍至此,希望以上内容对需要处理类似字符串分割任务的读者有所帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。