Maison  >  Article  >  développement back-end  >  méthode python pour diviser la chaîne en fonction d'une longueur fixe

méthode python pour diviser la chaîne en fonction d'une longueur fixe

不言
不言original
2018-05-02 14:34:147369parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn