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

yipeiwu_com6年前Python基础

有如下的一堆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.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()

方法二:  
代码示例:

#!/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的类方法和静态方法。分享给大家供大家参考。具体分析如下: python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神...

Python实现注册、登录小程序功能

Python实现注册、登录小程序功能

主要实现功能 1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误 2、用户名输入正确后,进行密码匹配。输入密码正确则登录成功,否则重新输入。 3、连续输错三次...

Python反射的用法实例分析

本文实例讲述了Python反射的用法。分享给大家供大家参考,具体如下: 在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对象中的某个变量,但是由于种种原因我...

python tkinter实现彩球碰撞屏保

python tkinter实现彩球碰撞屏保

利用Tkinter实现彩球碰撞屏保,供大家参考,具体内容如下 一、架构与思路 (1)主函数: main():通过类启动程序; (2)类: ScreenSaver():用于定义屏保和主画布...

Python数据存储之 h5py详解

1、Python数据存储(压缩) (1)numpy.save , numpy.savez , scipy.io.savemat numpy和scipy内建的数据存储方式。 (2)cPic...