Voir re.sub
, pour des performances, considérez un re.compile
pour optimiser le motif une fois.
Ci-dessous, vous trouverez une version courte qui correspond à tous les caractères qui ne sont pas dans la plage de A
à Z
et les remplace par une chaîne vide. Le drapeau re.I
ignore la casse, donc aussi les caractères minuscules (a-z
) sont remplacés.
import re
def charFilter(myString)
return re.sub('[^A-Z]+', '', myString, 0, re.I)
Si vous avez vraiment besoin de cette boucle, il existe de nombreuses réponses, expliquant cela spécifiquement. Cependant, vous voudrez peut-être donner une raison pour laquelle vous avez besoin d'une boucle.
Si vous souhaitez opérer sur les séquences de nombres et c'est la raison de la boucle, envisagez de remplacer le paramètre de la chaîne de remplacement par une fonction comme :
import re
def numberPrinter(matchString) {
print(matchString)
return ''
}
def charFilter(myString)
return re.sub('[^A-Z]+', '', myString, 0, re.I)