Compruebe diferentes formas de eliminar el último carácter de la cadena en Python
Cortando
Python soporta el rebanado de índice negativo junto con el rebanado positivo. El índice negativo comienza desde -1 hasta -(longitud_del_iterable). Utilizaremos el rebanado negativo para obtener los elementos del final de un iterable.
- El índice -1 le obtiene el último elemento del iterable.
- El índice -2 le obtiene el 2º último elemento del iterable.
- Y continúa hasta el primer elemento.
Veamos un ejemplo.
nombre = 'Geekflare'
print(nombre[-1])
print(nombre[-len(nombre)])
El programa anterior imprimirá el último y el primer carácter de la cadena utilizando la indexación negativa.
¿Cómo eliminamos el último elemento de la cadena utilizando el troceado? Es sólo una línea de código. Sabemos cómo extraer una parte de la cadena utilizando el troceado. Apliquemos lo mismo con un índice negativo para extraer el último carácter de la cadena.
- Rebane la cadena desde el principio hasta el último elemento anterior.
nombre_del_buggy = 'GeekflareE'
nombre = nombre_del_bicho[:-1]
print(nombre)
Centrémonos en la segunda línea del código anterior. Es la línea mágica del código. Como un troceado tradicional, extrae la subcadena desde el índice inicial hasta el penúltimo, ya que el troceado ignora el segundo elemento de índice dado.
Obtendrá Geekflare
como salida si ejecuta el código anterior.
rstrip
El método de cadena rstrip elimina los caracteres de la parte derecha de la cadena que se le da. Por lo tanto, podemos utilizarlo para eliminar el último elemento de la cadena. No tenemos que escribir más de una línea de código para eliminar el último carácter de la cadena.
- Dé el último elemento al método strip , éste devolverá la cadena eliminando el último carácter.
Veamos el fragmento de código.
nombre_del_bicho = 'GeekflareE'
nombre = nombre_del_bicho.rstrip(nombre_del_bicho[-1])
print(nombre)
Hemos dado el último carácter de la cadena al método strip . Éste elimina el último carácter de la cadena y devuelve una copia sin el último carácter.
Si lo ejecuta, imprimirá Geekflare
en la consola.
Ejemplo práctico – eliminar la última palabra
Sí, vamos a aplicar lo que tenemos en las secciones anteriores en un ejemplo práctico.
Supongamos que tenemos un archivo que contiene varias líneas de texto. Y necesitamos eliminar la última palabra de cada línea del archivo.
Siga los siguientes pasos para escribir el programa.
- Cree un archivo llamado random_text.txt y pagine unas cuantas líneas de texto en él.
- Inicialice una variable de datos como una cadena vacía.
- Abra el archivo utilizando el método with y open en modo lectura y escritura.
- Lea el contenido del archivo utilizando el método readlines .
- Itere sobre cada línea del contenido.
- Divida la línea de texto utilizando el método split en palabras.
- Elimine la última palabra utilizando uno de los métodos anteriores.
- Una el resultado para formar una cadena.
- Añada el resultado a la variable de datos.
- Elimine los datos del fichero utilizando los métodos buscar y truncar .
- Escriba los últimos datos en el archivo utilizando el método escribir .
El archivo contiene los siguientes datos.
Se trata de una línea de ejemplo para realizar pruebas. ÚltimaPalabra.
Esta es una línea de muestra para pruebas. KillingIt.
Esta es una línea de muestra para pruebas. RandomWord.
Línea de prueba. Borrar.
Esta es una línea de ejemplo para pruebas. EliminarIt.
Vea el código a continuación.
datos_actualizados = ''
# abriendo el archivo
with open('texto_aleatorio.txt', 'r ') as archivo:
# leer el contenido del archivo
contenido_del_archivo = archivo.readlines()
# iterar sobre el contenido
para línea en contenido_archivo
# eliminar la última palabra
línea_actualizada = ' '.join(línea.split(' ')[:-1])
# añadir datos a la variable
datos_actualizados = f'{línea_actualizada}\n'
# eliminar los datos antiguos
archivo.buscar(0)
archivo.truncar()
# escribiendo los nuevos datos
archivo.escribir(datos_actualizados)
Si ejecuta el código anterior con el archivo dado, el archivo tendrá los siguientes datos actualizados.
Esta es una línea de muestra para pruebas.
Esta es una línea de muestra para pruebas.
Esta es una línea de muestra para pruebas.
Esta es una línea de muestra para pruebas.
Esta es una línea de muestra para pruebas.
Espero que haya disfrutado del tutorial.
Feliz codificación 🙂
Consulte también Operaciones de subcadena en Python.