2010-06-30 242 views
25

Necesito quitar el carácter "'" de una cadena en python. ¿Cómo hago esto?Reemplazar el carácter de comilla simple (') de una cadena

Sé que hay una respuesta simple. Realmente lo que estoy buscando es cómo escribir ' en mi código. por ejemplo \n = newline.

+0

Sólo una aclaración: En el lenguaje Python, '' strip' significa devolver una copia de la cadena con caracteres iniciales y finales removed'. https://docs.python.org/2/library/string.html#string.strip – arun

Respuesta

64

En cuanto a cómo representar un solo apóstrofo como una cadena en Python, simplemente puede rodearlo con comillas dobles ("'") o puede escapar dentro de comillas simples ('\'').

Para eliminar apóstrofes de una cadena, un método sencillo es simplemente reemplazar el carácter de apóstrofo con una cadena vacía:

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

¿Quieres decir así?

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

se puede escapar el apóstrofe con un carácter \ así:

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

Estas son algunas de las formas de eliminación de un solo ' de una cadena en Python.

  • str.replace

    replace se utiliza generalmente para devolver una cadena con todas las instancias de la subcadena reemplazado.

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

    In Python 2

    Para eliminar caracteres que puede pasar el primer argumento de la funstion con todas las subcadenas que deben eliminarse como segundo.

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

    In Python 3

    Usted tendrá que utilizar str.maketrans

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

    expresiones regulares usando re son aún más potente (pero lento) y se puede utilizar para reemplazar los caracteres que coinciden con una expresión regular particular en lugar de una subcadena.

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

Otras formas

Hay algunas otras formas que se pueden utilizar pero no se recomienda en absoluto. (Solo para aprender nuevas formas). Aquí tenemos la cadena dada como una variable string.

Otro método final se puede utilizar también (Una vez más no se recomienda - sólo funciona si hay sólo una ocurrencia)

  • Usando list llama junto con remove y join.

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

La sugerencia 'maketrans()/translate()' fue genial, ¡gracias! – Marco

Cuestiones relacionadas