假设我的字符串长度为10个字符。
如何删除最后一个字符?
如果我的字符串是"abcdefghij"
(我不想替换'j'
字符,因为我的字符串可能包含多个'j'
字符)我只希望最后一个字符消失。无论它是什么或发生了多少次,我都需要删除字符串中的最后一个字符。
答案 0 :(得分:639)
简单:
st = "abcdefghij"
st = st[:-1]
还有另一种方式可以显示如何完成步骤:
list1 = "abcdefghij"
list2 = list(list1)
print(list2)
list3 = list2[:-1]
print(list3)
这也是用户输入的一种方式:
list1 = input ("Enter :")
list2 = list(list1)
print(list2)
list3 = list2[:-1]
print(list3)
要删除列表中的最后一个单词:
list1 = input("Enter :")
list2 = list1.split()
print(list2)
list3 = list2[:-1]
print(list3)
答案 1 :(得分:9)
您要尝试的是Python中string slicing的扩展:
说所有字符串的长度为10,最后一个字符要删除:
>>> st[:9]
'abcdefghi'
要删除最后N
个字符:
>>> N = 3
>>> st[:-N]
'abcdefg'
答案 2 :(得分:1)
适合您的 simples 解决方案是使用 string slicing。
Python 2/3:
source[0: -1] # gets all string but not last char
Python 2:
source = 'ABC'
result = "{}{}".format({source[0: -1], 'D')
print(result) # ABD
Python 3:
source = 'ABC'
result = f"{source[0: -1]}D"
print(result) # ABD
答案 3 :(得分:-1)
这实际上应该有效:
string = string[0:len(string) - 2]