Come rimuovere l’ultimo carattere dalla stringa Python?

Scopri diversi modi per rimuovere l’ultimo carattere dalla stringa in Python

Affettare

Python supporta lo slicing dell’indice negativo insieme allo slicing positivo. L’indice negativo inizia da -1 a -(iterable_length). Useremo lo slicing negativo per ottenere gli elementi dalla fine di un iterabile.

  • L’indice -1 ti ottiene l’ultimo elemento dell’iterabile.
  • L’indice -2 ti dà il penultimo elemento dell’iterabile.
  • E continua fino al primo elemento.

Vediamo un esempio.

name="winadmin.it"
print(name[-1])
print(name[-len(name)])

Il programma precedente stamperà l’ultimo e il primo carattere della stringa utilizzando l’indicizzazione negativa.

Come rimuoviamo l’ultimo elemento dalla stringa usando lo slicing? È solo una riga di codice. Sappiamo come estrarre una parte della stringa usando lo slicing. Applichiamo la stessa cosa con un indice negativo per rimuovere l’ultimo carattere dalla stringa.

  • Taglia la stringa dall’inizio all’ultimo prima dell’elemento.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)

Concentriamoci sulla seconda riga del codice sopra. Questa è la linea magica nel codice. Come slicing tradizionale, estrae la sottostringa dall’indice iniziale alla penultima, poiché lo slicing ignora il secondo elemento dell’indice fornito.

Otterrai winadmin.it come output se esegui il codice sopra.

striscia

Il metodo stringa rstrip rimuove i caratteri dal lato destro della stringa che gli viene assegnata. Quindi, possiamo usarlo per rimuovere l’ultimo elemento della stringa. Non è necessario scrivere più di una riga di codice per rimuovere l’ultimo carattere dalla stringa.

  • Assegna l’ultimo elemento al metodo strip, restituirà la stringa rimuovendo l’ultimo carattere.

Vediamo lo snippet di codice.

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

Abbiamo assegnato l’ultimo carattere della stringa al metodo strip. Rimuove l’ultimo carattere dalla stringa e ne restituisce una copia senza l’ultimo carattere.

Stamperà winadmin.it nella console, se lo esegui.

Esempio pratico: rimuovere l’ultima parola

Sì, applicheremo ciò che abbiamo nelle sezioni precedenti in un esempio pratico.

Supponiamo di avere un file che contiene più righe di testo. E dobbiamo rimuovere l’ultima parola da ogni riga del file.

Seguire i passaggi seguenti per scrivere il programma.

  • Crea un file chiamato random_text.txt e sfoglia alcune righe di testo al suo interno.
  • Inizializza una variabile di dati come una stringa vuota.
  • Apri il file usando il metodo with e open in modalità di lettura e scrittura.
  • Leggi il contenuto del file usando il metodo readlines.
  • Iterare su ogni riga del contenuto.
    • Dividi la riga di testo usando il metodo di divisione in parole.
    • Rimuovere l’ultima parola utilizzando uno dei metodi sopra.
    • Unisciti al risultato per formare una stringa.
    • Aggiungi il risultato alla variabile di dati.
  • Rimuovere i dati dal file utilizzando i metodi di ricerca e tronca.
  • Scrivi i dati più recenti nel file usando il metodo di scrittura.

Il file contiene i seguenti dati.

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.

Vedi il codice qui sotto.

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)

Se esegui il codice sopra con il file specificato, il file avrà i seguenti dati aggiornati.

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.

Spero che il tutorial ti sia piaciuto.

Buona codifica 🙂

Controlla anche le operazioni sulle sottostringhe in Python.

Ti è piaciuto leggere l’articolo? Che ne dici di condividere con il mondo?