这篇文章主要介绍了关于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
这里分享两种实现方法,供大家参考。
方法一:
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/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()
|
登录后复制
方法二:
代码示例:
1 2 3 4 5 6 7 8 9 10 | #!/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按照固定长度分割字符串三个字符一组
1 2 3 4 5 6 7 8 | 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']
|
登录后复制
代码二
1 2 3 4 5 | >>> import re
>>> string = '123456789abcdefg'
>>> re.findall(r'.{3}', string)
['123', '456', '789', 'abc', 'def']
>>>
|
登录后复制
相关推荐:
python print 按逗号或空格分隔的方法
Python 实现字符串中指定位置插入一个字符
以上是python 按照固定长度分割字符串的方法的详细内容。更多信息请关注PHP中文网其他相关文章!