python 按照固定长度分割字符串的方法小结


Posted in Python onApril 30, 2018

有如下的一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改为mac='90-2B-34-5F-B0-21'。
借助python脚本,可以轻松实现,原理就是:字符串的按照固定长度拆分。

1,文件mac.txt,保存了如下的mac地址:

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

这里分享两种实现方法,供大家参考。
方法一: 

代码示例:

#!/bin/python 
#site:WWW.3water.com
# 
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()

方法二:  
代码示例:

#!/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()

使用用python的正则表达式实现,执行效率高,值得推荐。
处理结果:

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 相关文章推荐
Python open()文件处理使用介绍
Nov 30 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python读取键盘输入的2种方法
Jun 16 Python
微信跳一跳游戏python脚本
Apr 01 Python
python购物车程序简单代码
Apr 18 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
Python 导入文件过程图解
Oct 15 Python
Python生成器generator原理及用法解析
Jul 20 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
利用Python优雅的登录校园网
Oct 21 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
详解Django的MVT设计模式
Apr 29 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 #Python
python版本的仿windows计划任务工具
Apr 30 #Python
Python装饰器原理与用法分析
Apr 30 #Python
Python中pillow知识点学习
Apr 30 #Python
Python生成器定义与简单用法实例分析
Apr 30 #Python
Python迭代器定义与简单用法分析
Apr 30 #Python
python 实现在txt指定行追加文本的方法
Apr 29 #Python
You might like
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
老生常谈python中的重载
2018/11/11 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python运行异常管理解决方案
2020/03/09 Python
Python如何重新加载模块
2020/07/29 Python
python如何写个俄罗斯方块
2020/11/06 Python
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
工程测量与监理专业应届生求职信
2013/11/27 职场文书
法学研究生自我鉴定范文
2013/12/04 职场文书
班主任工作年限证明
2014/01/12 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
矿泉水广告词
2014/03/20 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
银行贷款收入证明
2014/10/17 职场文书