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 按照固定长度分割字符串的方法小结 的全部内容, 来源链接: utcz.com/z/333193.html

回到顶部