¿Cómo eliminar el último carácter de Python String?

Vea diferentes formas de eliminar el último carácter de la cadena en Python

rebanar

Python admite el corte de índice negativo junto con el corte positivo. El índice negativo comienza desde -1 hasta -(iterable_length). Usaremos el corte negativo para obtener los elementos del final de un iterable.

  • El índice -1 te da el último elemento del iterable.
  • El índice -2 te da el penúltimo elemento del iterable.
  • Y continúa hasta el primer elemento.

Veamos un ejemplo.

name="kirukiru.es"
print(name[-1])
print(name[-len(name)])

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 usando el corte? Es solo una línea de código. Sabemos cómo extraer una parte de la cadena mediante el corte. Apliquemos lo mismo con un índice negativo para eliminar el último carácter de la cadena.

  • Corta la cadena desde el principio hasta el último elemento anterior.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)

Centrémonos en la segunda línea del código anterior. Esa es la línea mágica en el código. Como un corte tradicional, extrae la subcadena desde el índice inicial hasta el penúltimo, ya que el corte ignora el segundo elemento de índice dado.

Obtendrá kirukiru.es como salida si ejecuta el código anterior.

tira

El método de cadena rstrip elimina los caracteres del lado derecho de la cadena que se le asigna. Entonces, podemos usarlo 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.

  • Dale el último elemento al método strip, devolverá la cadena eliminando el último carácter.

Veamos el fragmento de código.

buggy_name="GeekflareE"
name = buggy_name.rstrip(buggy_name[-1])
print(name)

Le hemos dado el último carácter de la cadena al método strip. Elimina el último carácter de la cadena y devuelve una copia sin el último carácter.

Imprimirá kirukiru.es en la consola, si lo ejecuta.

Ejemplo práctico: eliminar la última palabra

Sí, vamos a aplicar lo que tenemos en las secciones anteriores en un ejemplo práctico.

Digamos que tenemos un archivo que contiene varias líneas de texto. Y necesitamos eliminar la última palabra de cada línea en el archivo.

Siga los pasos a continuación para escribir el programa.

  • Cree un archivo llamado random_text.txt y coloque unas pocas líneas de texto en él.
  • Inicialice una variable de datos como una cadena vacía.
  • Abra el archivo usando el método with y open en modo de lectura y escritura.
  • Lea el contenido del archivo usando el método readlines.
  • Iterar sobre cada línea del contenido.
    • Divida la línea de texto utilizando el método de división en palabras.
    • Elimine la última palabra usando uno de los métodos anteriores.
    • Une el resultado para formar una cadena.
    • Agregue el resultado a la variable de datos.
  • Elimine los datos del archivo utilizando métodos de búsqueda y truncamiento.
  • Escriba los datos más recientes en el archivo utilizando el método de escritura.

El archivo contiene los siguientes datos.

This is a sample line for testing. LastWord.
This is a sample line for testing. KillingIt.
This is a sample line for testing. RandomWord.
This is a sample line for testing. DeleteIt.
This is a sample line for testing. RemovingIt.

Vea el código a continuación.

updated_data=""

# opening the file
with open('random_text.txt', 'r+') as file:
    # read the file content
    file_content = file.readlines()

    # iterate over the content
    for line in file_content:

        # removing last word
        updated_line=" ".join(line.split(' ')[:-1])

        # appending data to the variable
        updated_data += f'{updated_line}n'

    # removing the old data
    file.seek(0)
    file.truncate()

    # writing the new data
    file.write(updated_data)

Si ejecuta el código anterior con el archivo dado, entonces el archivo tendrá los siguientes datos actualizados.

This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.

Espero que hayas disfrutado el tutorial.

Codificación feliz 🙂

Consulte también Operaciones de subcadena en Python.

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?