2010-06-30 16 views
25

Ich muss das Zeichen "'" aus einer Zeichenfolge in Python entfernen. Wie mache ich das?Ersetzen Sie das einfache Anführungszeichen (') Zeichen aus einer Zeichenfolge

Ich weiß, dass es eine einfache Antwort gibt. Wirklich, was ich suche, ist, wie man ' in meinen Code schreibt. zum Beispiel \n = newline.

+0

Nur zur Klarstellung: In Python-Sprachgebrauch 'strip' bedeutet' Gibt eine Kopie des Strings mit den führenden und Zeichen removed' Hinter. https://docs.python.org/2/library/string.html#string.strip – arun

Antwort

64

Um einen einzelnen Apostroph als String in Python darzustellen, können Sie ihn einfach mit doppelten Anführungszeichen ("'") umgeben oder Sie können ihn in einfache Anführungszeichen ('\'') umwandeln.

Um Apostrophe aus einer Zeichenfolge zu entfernen, ist ein einfacher Ansatz nur das Apostroph-Zeichen mit einem leeren String ersetzen:

>>> "didn't".replace("'", "") 
'didnt' 
2

Sie wie dies bedeuten Sie?

>>> 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)' 
0

können Sie entkommen den Apostroph mit einem \ Charakter auch:

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

Hier sind ein paar Möglichkeiten der Verwendung eines einzelnen ' aus einer Zeichenfolge in Python zu entfernen.

  • str.replace

    replace ist in der Regel ersetzt verwendet, um eine Zeichenfolge zurück mit allen Instanzen des Teils.

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

    In Python 2

    Zeichen entfernen Sie das erste Argument der funstion mit all Teil als zweiten zu entferne passieren können.

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

    In Python 3

    Sie str.maketrans

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

    Reguläre Ausdrücke zu verwenden, haben mit re sind noch leistungsfähiger (aber langsam) und kann verwendet werden, um Zeichen zu ersetzen die einem bestimmten Regex und nicht einem Teilstring entsprechen.

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

Andere Möglichkeiten

Es gibt ein paar andere Möglichkeiten, die verwendet werden können, sind aber nicht empfohlen. (Nur um neue Wege zu lernen). Hier haben wir den angegebenen String als Variable string.

Eine weitere letzte Methode auch (empfohlen Wieder nicht - nur funktioniert, wenn es nur ein Vorkommen ist) verwendet werden können, verwenden Verwenden

  • Mit list Anruf zusammen mit remove und join.

    x = list(string) 
    x.remove("'") 
    ''.join(x) 
    
+0

Der Vorschlag 'maketrans()/translate()' war großartig, danke! – Marco

Verwandte Themen