Cómo borrar un carácter de una cadena usando Python

Hay una cadena, por ejemplo. EJEMPLO.

¿Cómo puedo eliminar el carácter del medio, es decir, M de ella? No necesito el código. Quiero saber:

  • ¿Las cadenas en Python terminan en algún carácter especial?
  • ¿Cuál es la mejor manera - desplazar todo de derecha a izquierda empezando por el carácter del medio o crear una nueva cadena y no copiar el carácter del medio?
Solución

En Python, las cadenas son inmutables, así que tienes que crear una nueva cadena. Usted tiene algunas opciones de cómo crear la nueva cadena. Si quieres eliminar la 'M' donde quiera que aparezca:

newstr = oldstr.replace("M", "")

Si quieres eliminar el carácter central:

midlen = len(oldstr)/2   # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Has preguntado si las cadenas terminan con un carácter especial. No, estás pensando como un programador de C. En Python, las cadenas se almacenan con su longitud, por lo que cualquier valor de bytes, incluyendo \0, puede aparecer en una cadena.

Comentarios (3)

Esta es probablemente la mejor manera:

original = "EXAMPLE"
removed = original.replace("M", "")

No te preocupes por el cambio de caracteres y demás. La mayor parte del código Python tiene lugar en un nivel de abstracción mucho más alto.

Comentarios (3)

Para sustituir un puesto específico:

s = s[:pos] + s[(pos+1):]

Para reemplazar un carácter específico:

s = s.replace('M','')
Comentarios (3)