假设我的字符串长度为 10 个字符。
如何删除最后一个字符?
如果我的字符串是"abcdefghij"
(我不想替换'j'
字符,因为我的字符串可能包含多个'j'
字符)我只希望最后一个字符消失。无论它是什么或发生多少次,我都需要从字符串中删除最后一个字符。
简单的:
my_str = "abcdefghij"
my_str = my_str[:-1]
尝试以下代码片段,通过将字符串转换为列表来更好地理解它的工作原理:
str1 = "abcdefghij"
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)
如果您想接受来自用户的字符串:
str1 = input("Enter :")
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)
使其从句子中删除最后一个单词(单词由空格分隔):
str1 = input("Enter :")
list1 = str1.split()
print(list1)
list2 = list1[:-1]
print(list2)
您正在尝试做的是Python中字符串切片的扩展:
假设所有字符串的长度为 10,最后一个要删除的字符:
>>> st[:9]
'abcdefghi'
要删除最后一个N
字符:
>>> N = 3
>>> st[:-N]
'abcdefg'
最简单的解决方案是使用字符串切片。
蟒蛇 2/3:
source[0: -1] # gets all string but not last char
蟒蛇2:
source = 'ABC'
result = "{}{}".format({source[0: -1], 'D')
print(result) # ABD
蟒蛇 3:
source = 'ABC'
result = f"{source[0: -1]}D"
print(result) # ABD
这实际上应该有效:
string = string[0:len(string) - 2]