J'essaie d'utiliser l'expression régulière pour rechercher un document pour un numéro UUID et remplacer la fin de celui-ci par un nouveau numéro. Le code que j'ai jusqu'ici est:Rechercher une chaîne et la remplacer par une variable
read_file = open('test.txt', 'r+')
write_file = open('test.txt', 'w')
r = re.compile(r'(self.uid\s*=\s*5EFF837F-EFC2-4c32-A3D4\s*)(\S+)')
for l in read_file:
m1 = r.match(l)
if m1:
new=(str,m1.group(2))
new??????
Ceci où je suis coincé.
Le fichier test.txt
a le dessous UUID mémorisés:
self.uid = '5EFF837F-EFC2-4c32-A3D4-D15C7F9E1F22'
Je veux remplacer la pièce D15C7F9E1F22
.
J'ai aussi essayé:
r = re.compile(r'(self.uid\s*=\s*)(\S+)')
for l in fp:
m1 = r.match(l)
new=map(int,m1.group(2).split("-")
new[4]='RHUI5345JO'
Mais je ne peux pas sembler correspondre à la chaîne.
Merci d'avance pour toute aide.
Je l'ai corrigé et testé: essayez-le maintenant. –
Parlez-vous de mon expression rationnelle générale? Je l'ai réparé aussi. Désolé pour l'erreur. –