首頁  >  文章  >  後端開發  >  python 依照固定長度分割字串的方法

python 依照固定長度分割字串的方法

不言
不言原創
2018-05-02 14:34:147371瀏覽

這篇文章主要介紹了關於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-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']
>>>
#########程式碼二###### ####rrreee#########相關推薦:#########python print 以逗號或空格分隔的方法############Python 實作字符串中指定位置插入一個字元#########################

以上是python 依照固定長度分割字串的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn