从字符串中删除最终字符(Python)

时间:2013-03-18 13:33:18

标签: python string

假设我的字符串长度为10个字符。

如何删除最后一个字符?

如果我的字符串是"abcdefghij"(我不想替换'j'字符,因为我的字符串可能包含多个'j'字符)我只希望最后一个字符消失。无论它是什么或发生了多少次,我都需要删除字符串中的最后一个字符。

4 个答案:

答案 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]