這篇文章主要介紹了關於python 按照固定長度分割字串的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
有如下的一堆mac位址,需更改成一定格式,如mac='902B345FB021'改為mac='90-2B-34-5F-B0-21'。
借助python腳本,可以輕鬆實現,原理就是:字串的按照固定長度拆分。
1,檔案mac.txt,儲存如下的mac位址:
50E549E32ECB
902B3413EFA6
50E549ECBA1C
902B3457B16F ##50E549ECBA1C
902B3457B16F ##50E549ECBA1C
902B3457B16F ##50E51F1242311223232
#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-A650-E5-49-EC -BA-1C
90-2B-34-57-B1-6F1C-6F-65-29-6D-F9
90-2B-34-13-1A-1450 -E5-49-E3-E2-F8
50-E5-49-3A-26-9690-2B-34-5F-B0-21
90-2B-34-13-15 -7490-2B-34-18-43-BF 00-24-1D-0E-25-8D
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 依照固定長度分割字串的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!