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

不言
Libérer: 2018-05-02 14:34:14
original
7363 Les gens l'ont consulté

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()
Copier après la connexion

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()
Copier après la connexion

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']
Copier après la connexion

Code 2

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

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!