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 相关文章推荐
php使用递归与迭代实现快速排序示例
Jan 23 Python
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python fileinput模块使用实例
May 28 Python
Python使用正则表达式实现文本替换的方法
Apr 18 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
python之拟合的实现
Jul 19 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
python 深度学习中的4种激活函数
Sep 18 Python
python实现自定义日志的具体方法
May 28 Python
python中的3种定义类方法
Nov 27 Python
Python 一键获取电脑浏览器的账号密码
May 11 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并发访问实例代码
2012/09/06 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
浅谈php和.net的区别
2014/09/28 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
python基础教程之lambda表达式使用方法
2014/02/12 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
Python Socket使用实例
2017/12/18 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
2019年c语言经典面试题目
2016/08/17 面试题
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
集团公司总经理岗位职责
2013/12/20 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
基层党组织整改方案
2014/10/25 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书