4 votes

python : comment supprimer certains caractères

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.

9voto

SilentGhost Points 79627
>>> s = 'stringToModify'
>>> rem = 'oi'
>>> s.translate(str.maketrans(dict.fromkeys(rem)))
'strngTMdfy'

3voto

DisplacedAussie Points 2872
>>> string_to_modify = 'this is a string'
>>> remove_these = 'aeiou'
>>> ''.join(x for x in string_to_modify if x not in remove_these)
'ths s  strng'

2voto

Will Points 2368

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"
>>>

-1voto

Abhi Points 322

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")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X