Vea diferentes formas de eliminar el último carácter de la cadena en Python
Slicing
Python admite el corte de índice negativo junto con el corte positivo. El índice negativo comienza en -1 a - (iterable_length). 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á los últimos y primeros caracteres de la cadena usando 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 cuerda mediante el corte. Apliquemos lo mismo con un índice negativo para eliminar el último carácter de la cadena.
- Corta la cuerda 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 del código. Como un corte tradicional, extrae la subcadena del índice inicial al último pero uno, ya que el corte ignora el segundo elemento de índice dado.
Conseguirás Geekflare
como salida si ejecuta el código anterior.
rstrip
El método de 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 tira 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 tira método. Elimina el último carácter de la cadena y devuelve una copia sin el último carácter.
Se imprimirá Geekflare
en la consola, si lo ejecuta.
Practical Example – remove the last word
Sí, vamos a aplicar lo que tenemos en los apartados 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 del archivo.
Siga los pasos a continuación para escribir el programa.
- Crea un archivo llamado texto_aleatorio.txt y coloque algunas líneas de texto en él.
- Inicialice una variable de datos como una cadena vacía.
- Abra el archivo usando a y habiertos método en modo lectura y escritura.
- Lea el contenido del archivo usando el líneas de lectura método.
- Repita cada línea del contenido.
- Divida la línea de texto usando el dividido método en palabras.
- Elimine la última palabra utilizando 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 usando buscar y truncar métodos.
- Escriba los datos más recientes en el archivo usando escribir 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.
Feliz codificación 🙂
También verifica Operaciones de subcadenas en Python.