首页 > 编程 > Python > 正文

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

2020-01-04 15:16:55
字体:
来源:转载
供稿:网友

有如下的一堆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.vevb.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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表