2013-03-18 18 views
260

Diciamo che la mia stringa è lunga 10 caratteri.Rimuovi carattere finale da stringa (Python)

Come rimuovere l'ultimo carattere?

Se la mia stringa è "abcdefghij" (non voglio sostituire il carattere "j". Poiché la mia stringa può contenere più caratteri "j"), voglio solo che l'ultimo carattere scompaia. Indipendentemente da cosa sia o da quante volte si verifichi, devo rimuovere l'ultimo carattere dalla mia stringa.

+41

''abcdefghij' [: - 1]' dovrebbe fare il trucco ma sento che avresti potuto facilmente trovarlo nella documentazione ufficiale di Python. –

+12

Forse c'è @ClassStacker, ma ancora oggi 186 persone hanno trovato questa domanda utile e 336 pensano la stessa cosa per la risposta, quindi forse (solo forse) i documenti Python non sono così semplici per gli importatori ... – Kuba

risposta

448

Semplice:

st = "abcdefghij" 
st = st[:-1] 

c'è anche un altro modo che mostrano come è fatto con gradini:

list1 = "abcdefghij" 
list2 = list(list1) 
print (list2) 
list3 = list2[:-1] 
print (list3) 

Questo è anche un modo con l'utente inserendo una parola:

list1 = input ("Enter :") 
list2 = list(list1) 
print (list2) 
list3 = list2[:-1] 
print (list3) 

Per farlo togliere l'ultima parola in una lista:

list1 = input ("Enter :") 
list2 = list1.split() 
print (list2) 
list3 = list2[:-1] 
print (list3) 
+0

Sì , 'st [-1]' è solo l'ultimo carattere di 'st' – Cyrille

+1

In realtà quella slice funzionerà ancora anche se' st' è vuoto. Bene, restituirà ancora una stringa vuota, ma non otterrai un errore. – kindall

+2

+1 Hai ragione. 'st [: - 1]' è ok, mentre 'st [-1]' non lo è. – Cyrille