Maison > Article > développement back-end > méthode python pour diviser la chaîne en fonction d'une longueur fixe
Cet article présente principalement la méthode de fractionnement des chaînes en fonction d'une longueur fixe en python. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Il y en a un tas. macs comme suit L'adresse doit être modifiée dans un certain format, tel que mac='902B345FB021' en mac='90-2B-34-5F-B0-21'.
À l'aide d'un script python, cela peut être facilement implémenté. Le principe est le suivant : la chaîne est divisée selon une longueur fixe.
1, fichier mac.txt, enregistre l'adresse mac suivante :
50E549E32ECB
902B3413EFA6
50E549ECBA1C
902B3457B16F
1C6F65296 DF9
902B34131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574
Voici deux méthodes de mise en œuvre pour votre référence.
Première méthode :
Exemple de code :
#!/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()
Méthode deux :
Échantillon de code :
#!/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()
Utilisant des expressions régulières en python, il a une efficacité d'exécution élevée et mérite d'être recommandé.
Résultats du traitement :
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 est toujours très bon pour traiter les chaînes, je recommande tout le monde Ayez une prise ferme.
Python divise la chaîne en groupes de trois caractères selon une longueur fixe
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'] >>>
Recommandations associées :
méthode d'impression python de séparation par des virgules ou des espaces
Python implémente l'insertion d'un caractère dans une chaîne à une position spécifiée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!