web-dev-qa-db-fra.com

Remplacer le caractère guillemet simple (') d'une chaîne

Je dois retirer le caractère "'" d'une chaîne en python. Comment puis-je faire cela?

Je sais qu'il y a une réponse simple. Vraiment ce que je cherche, c'est comment écrire ' dans mon code. par exemple \n = nouvelle ligne. 

28
Richard

Pour ce qui est de la manière de représenter une simple apostrophe sous forme de chaîne en Python, vous pouvez l’entourer de guillemets doubles ("'") ou l’échapper à l’intérieur de guillemets simples ('\'').

Pour supprimer les apostrophes d'une chaîne, une approche simple consiste simplement à remplacer le caractère apostrophe par une chaîne vide:

>>> "didn't".replace("'", "")
'didnt'
71
Mark Rushakoff

Voici quelques façons de supprimer un seul ' d'une chaîne en python.

  • str.replace

    replace est généralement utilisé pour renvoyer une chaîne avec toutes les occurrences de la sous-chaîne remplacées.

    "A single ' char".replace("'","")
    
  • str.translate

    En Python 2

    Pour supprimer des caractères, vous pouvez transmettre le premier argument à la fonction avec toutes les sous-chaînes à supprimer en second.

    "A single ' char".translate(None,"'")
    

    En Python 3

    Vous devrez utiliser str.maketrans

    "A single ' char".translate(str.maketrans({"'":None}))
    
  • re.sub

    Les expressions régulières utilisant re sont encore plus puissantes (mais lentes) et peuvent être utilisées pour remplacer des caractères qui correspondent à une expression rationnelle particulière plutôt qu'à une sous-chaîne. 

    re.sub("'","","A single ' char")
    

D'autres moyens

Il y a quelques autres moyens qui peuvent être utilisés mais ne sont pas du tout recommandés. (Juste pour apprendre de nouvelles façons). Ici, nous avons la chaîne donnée sous la forme d'une variable string

Une autre méthode finale peut également être utilisée (Encore une fois, cela n'est pas recommandé - fonctionne uniquement s'il n'y a qu'une occurrence.) 

  • Utilisez list call avec remove et join

    x = list(string)
    x.remove("'")
    ''.join(x)
    
7
Bhargav Rao

Voulez-vous dire comme ça?

>>> mystring = "This isn't the right place to have \"'\" (single quotes)"
>>> mystring
'This isn\'t the right place to have "\'" (single quotes)'
>>> newstring = mystring.replace("'", "")
>>> newstring
'This isnt the right place to have "" (single quotes)'
2
sberry

Vous pouvez également échapper à l'apostrophe avec un caractère \:

mystring.replace('\'', '')