Heim >Backend-Entwicklung >Python-Tutorial >Python-Methode zum Aufteilen von Zeichenfolgen entsprechend fester Länge

Python-Methode zum Aufteilen von Zeichenfolgen entsprechend fester Länge

不言
不言Original
2018-05-02 14:34:147441Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zum Aufteilen von Zeichenfolgen nach fester Länge in Python vor. Jetzt kann ich ihn mit Ihnen teilen.

Es gibt eine Menge von Macs wie folgt: Die Adresse muss in ein bestimmtes Format geändert werden, z. B. mac='902B345FB021' in mac='90-2B-34-5F-B0-21'.
Mit Hilfe von Python-Skripten lässt es sich einfach implementieren. Das Prinzip ist: Der String wird nach einer festen Länge aufgeteilt.

1, Datei mac.txt, speichert die folgende Mac-Adresse:

50E549E32ECB
902B3413EFA6
50E549ECBA1C
902B3457B16F
1C6F65296 9
902B34131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574

Hier sind zwei Implementierungsmethoden als Referenz.
Methode eins:

Codebeispiel:

#!/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()

Methode zwei:
Codebeispiel:

#!/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()

wird mithilfe regulärer Ausdrücke in Python implementiert. Es weist eine hohe Ausführungseffizienz auf und ist eine Empfehlung wert.
Verarbeitungsergebnisse:

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 kann Strings immer noch sehr gut verarbeiten, empfehle ich Jeder bekommt einen festen Halt.

Python teilt die Zeichenfolge entsprechend einer festen Länge in Gruppen von drei Zeichen auf

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']

Code 2

>>> import re
>>> string = '123456789abcdefg'
>>> re.findall(r'.{3}', string)
['123', '456', '789', 'abc', 'def']
>>>

Verwandte Empfehlungen:

Python-Druckmethode zum Trennen durch Kommas oder Leerzeichen

Python Implementierung von Zeichen Fügen Sie ein Zeichen

an der angegebenen Position in der Zeichenfolge ein

Das obige ist der detaillierte Inhalt vonPython-Methode zum Aufteilen von Zeichenfolgen entsprechend fester Länge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn