373 votes

Comment utiliser string.replace() en python 3.x

La fonction string.replace() est dépréciée dans python 3.x. Quelle est la nouvelle façon de procéder ?

16 votes

Pour info, j'ai eu la même confusion. Google "python string replace" m'a conduit aux anciennes fonctions de chaîne dépréciées dans python 2.7. IMHO, cette section pourrait utiliser un gros encadré en gras expliquant "string.xxx()" vs "xxx(string)", et dirigeant les gens vers les méthodes de chaîne non dépréciées, par exemple vers docs.python.org/library/stdtypes.html#string-methods

17 votes

La documentation de Python est un véritable gâchis alors qu'il est présenté comme un premier langage idéal. Très souvent, la documentation est là, mais en raison de la mauvaise organisation, elle n'est souvent pas bien indexée par les moteurs de recherche ou même par leur propre site. Regardez le lien de ToolMakerSteve, les fonctions de base des chaînes de caractères sont regroupées dans des types standard. Cela n'apparaît pas lorsque vous recherchez des fonctions de chaîne de caractères.

19 votes

Pour être clair : string.replace() n'est en fait pas déprécié dans Python 3.

6voto

Ed Dabbah Points 49

Essayez ça :

mystring = "This Is A String"
print(mystring.replace("String","Text"))

2voto

Ooker Points 137

Pour info, quand ajout de certains caractères à un mot arbitraire, fixé en position, à l'intérieur de la chaîne de caractères (par exemple, transformer un adjectif en adverbe en ajoutant le suffixe -ly ), vous pouvez mettre le suffixe à la fin de la ligne pour plus de lisibilité. Pour ce faire, utilisez split() à l'intérieur de replace() :

s="The dog is large small"
ss=s.replace(s.split()[3],s.split()[3]+'ly')
ss
'The dog is largely small'

0voto

Remplacement simple : .replace(old, new, count) .

text = "Apples taste Good."
print(text.replace('Apples', 'Bananas'))          # use .replace() on a variable
Bananas taste Good.          <---- Output

print("Have a Bad Day!".replace("Bad","Good"))    # Use .replace() on a string
Have a Good Day!             <----- Output

print("Mom is happy!".replace("Mom","Dad").replace("happy","angry"))  #Use many times
Dad is angry!                <----- Output

-1voto

ss = s.replace(s.split()[1], +s.split()[1] + 'gy')
# should have no plus after the comma --i.e.,
ss = s.replace(s.split()[1], s.split()[1] + 'gy')

11 votes

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant la raison et/ou la manière dont il répond à la question améliorerait considérablement sa valeur à long terme. Veuillez consulter le site modifier votre réponse pour ajouter une explication.

2 votes

La réponse correcte est la suivante : string.replace fonctionne en python3.

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