1
votes

Comment utiliser correctement .replace ()

J'essaie de supprimer "-" des mots. Par exemple, le mot "World - quatrièmeousand" doit être remplacé par un espace blanc faisant string.replace ('-', '')

String.replace ('-', '') J'ai déjà essayé et ne le supprime pas.

if "--" in string:
        string.replace("--", " ")

"World quatrièmeousand" attendu "Monde - quatrième et quatre"


0 commentaires

3 Réponses :


0
votes

replace renvoie une nouvelle chaîne avec la sous-chaîne remplacée, elle ne modifie pas la chaîne d'origine. Vous pouvez donc faire:

string = string.replace("--"," ")


0 commentaires

0
votes

La fonction replace () devrait retourner une copie de la chaîne avec les caractères voulus remplacés. Cela étant dit, je pense que vous devriez attribuer le résultat de la fonction de remplacement à une autre variable, qui contiendra la valeur souhaitée.

if "--" in string:
    new_string = string.replace("--", " ")


0 commentaires

0
votes

Les chaînes sont ce que vous appelez des objets immuables, ce qui signifie que chaque fois que vous les modifiez, vous obtenez un nouvel objet et la chaîne d'origine est intacte, vous devrez donc enregistrer la chaîne modifiée dans une nouvelle variable comme ceci:

s = "World--fourthousand"
s = s.replace("--"," ")
print(s)
#World fourthousand

À partir de la documentation: https: / /docs.python.org/3/library/string.html#string.replace

Renvoie une copie de la chaîne s avec toutes les occurrences de la sous-chaîne old remplacées par new. Si l'argument optionnel maxreplace est donné, les premières occurrences de maxreplace sont remplacées.


0 commentaires