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 相关文章推荐
tensorflow实现KNN识别MNIST
Mar 12 Python
Python实现二维数组输出为图片
Apr 03 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
在Keras中CNN联合LSTM进行分类实例
Jun 29 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
详解Python内置模块Collections
Mar 22 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/09 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP文件操作详解
2016/12/30 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
js实现一键复制功能
2017/03/16 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
微信小程序实现留言板
2018/10/31 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python中的闭包实例详解
2014/08/29 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
在Python中表示一个对象的方法
2019/06/25 Python
如何基于Python实现自动扫雷
2020/01/06 Python
初学者学习Python好还是Java好
2020/05/26 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
.net工程师笔试题
2012/06/09 面试题
linux面试题参考答案(11)
2012/05/01 面试题
初一体育教学反思
2014/01/29 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
服务口号大全
2014/06/11 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
python实现socket简单通信的示例代码
2021/04/13 Python