2013-03-18 39 views
260

Giả sử chuỗi của tôi dài 10 ký tự.Xóa ký tự cuối cùng khỏi chuỗi (Python)

Làm cách nào để xóa ký tự cuối cùng?

Nếu chuỗi của tôi là "abcdefghij" (Tôi không muốn thay thế ký tự "j". Vì chuỗi của tôi có thể chứa nhiều ký tự 'j'), tôi chỉ muốn ký tự cuối cùng biến mất. Bất kể nó là gì hay bao nhiêu lần nó xảy ra, tôi cần phải loại bỏ ký tự cuối cùng khỏi chuỗi của tôi.

+41

''abcdefghij' [: - 1]' nên thực hiện thủ thuật nhưng tôi cảm thấy bạn có thể dễ dàng tìm thấy điều này trong tài liệu Python chính thức. –

+12

Có thể có @ClassStacker, nhưng vẫn vào ngày này 186 người tìm thấy câu hỏi này hữu ích và 336 nghĩ tương tự về câu trả lời, vì vậy có thể (chỉ có thể) Tài liệu Python không phải là thẳng về phía trước trong vấn đề đó cho người ăn xin ... – Kuba

Trả lời

448

đơn giản:

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

đó cũng là một cách cho thấy làm thế nào nó được thực hiện với các bước:

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

Đây cũng là một cách với người sử dụng nhập từ:

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

Để loại bỏ từ cuối cùng trong danh sách:

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

Có , 'st [-1]' chỉ là ký tự cuối cùng của 'st' – Cyrille

+1

Thực ra slice đó sẽ vẫn hoạt động ngay cả khi' st' rỗng. Vâng, nó sẽ trả về một chuỗi rỗng, nhưng bạn sẽ không gặp lỗi. – kindall

+2

+1 Bạn đã đúng. 'st [: - 1]' là ok, trong khi 'st [-1]' thì không. – Cyrille

Các vấn đề liên quan