如何只删除字符串中的最后一个字母python?[复制]

How to remove only the last letter in string, python? [duplicate]

提问人:Code Freak 提问时间:11/19/2022 最后编辑:macropodCode Freak 更新时间:11/21/2022 访问量:66

问:

我正在用 Python 制作一个“Wordle”类型的游戏,并想删除您在按退格键时写的最后一个字母,它在大多数情况下都有效,但是如果您的单词具有相同的字母,例如“start”,我就有问题。

我尝试使用这样的功能:.replace()

word = 'start'
new_word = word.replace(word[4], '', 1)
print(new_word)

但结果不是 ,而是 。 正如你所看到的,它取代了第一个“t”,而不是最后一个。 有谁知道如何替换最后一个,但解决方案需要在任何情况下工作,就像它只需要替换最后一个一样?'star''sart''t''aaaaa''a'

python 字符串 替换 字母

评论

1赞 gog 11/19/2022
提示:'start'[:-1] = 'star'
0赞 Gino Mempin 11/19/2022
你要找的概念叫做“切片”:了解切片

答:

-2赞 Fernando 11/19/2022 #1

从单词的总长度中提取最后一个字符,例如:

word = '开始'

new_word = word[:len(word)-1]

打印(new_word)

-2赞 fbn001 11/19/2022 #2
word = 'start'
new_word = word.replace(word[1], word[4]) #replaces letter 1 with letter 4
new_word = new_word[:-1] #removes last letter
print(new_word)

评论

1赞 Oghli 11/19/2022
不需要这行代码,他只需要对字符串进行切片即可。new_word = word.replace(word[1], word[4])