Comment puis-je écrire une fonction removeThese(stringToModify,charsToRemove) qui retournera une chaîne de caractères qui est la chaîne originale de stringToModify avec les caractères de charsToRemove supprimés.
Réponses
Trop de publicités?C'est l'occasion d'utiliser une fonction lambda et la méthode python filter(). filter
prend un prédicat et une séquence et renvoie une séquence contenant uniquement les éléments de la séquence originale. pour lesquels le prédicat est vrai. Ici, nous voulons juste tous les caractères de s
pas dans rm
>>> s = "some quick string 2 remove chars from"
>>> rm = "2q"
>>> filter(lambda x: not (x in rm), s)
"some uick string remove chars from"
>>>
Utilisez des expressions régulières :
import re
newString = re.sub("[" + charsToRemove + "]", "", stringToModify)
À titre d'exemple concret, l'exemple suivant supprimera toutes les occurrences de "a", "m" et "z" de la phrase :
import re
print re.sub("[amz]", "", "the quick brown fox jumped over the lazy dog")
Cela supprimera tous les caractères de "m" à "s" :
re.sub("[m-s]", "", "the quick brown fox jumped over the lazy dog")