¿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 para -(longitud_iterable). Usaremos el corte negativo para obtener los elementos del final de un iterable.

El índice -1 obtiene el último elemento del iterable. El índice -2 obtiene el segundo último elemento del iterable. Y continúa hasta el primer elemento.

Veamos un ejemplo.

name = 'Geekflare'
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 rebanar? 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á Geekflare como salida si ejecuta el código anterior.

tira

El método de la cadena tira 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.

Dar el último elemento a la banda método, 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 banda método. Elimina el último carácter de la cadena y devuelve una copia sin el último carácter.

Imprimirá Geekflare 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.

Crea un archivo llamado texto_aleatorio.txt y página unas pocas líneas de texto en él. Inicialice una variable de datos como una cadena vacía. Abra el archivo usando con y abierto método en modo lectura y escritura. Leer el contenido del archivo usando el líneas de lectura método. Iterar sobre cada línea del contenido. Dividir la línea de texto usando el separar método 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. Eliminar los datos del archivo usando buscar y truncar métodos. Escriba los últimos datos en el archivo usando escribe método.

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.

Publicaciones relacionadas

Botón volver arriba