You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何仅删除字符串最后一个字符?含重复字符场景解决方案

解决Python中删除字符串最后一个字符的通用方案

你用replace()函数的问题在于,它是从左到右扫描字符串并替换第一个匹配项,而不是最后一个。比如处理'start'时,word[4]是t,replace()会找到第一个t(索引1的位置)替换掉,所以得到sart,这和你要删除最后一个字符的需求不符。

下面是两种通用解决方案,完全适配含重复字符的场景(比如'aaaaa'):

方案1:字符串切片(推荐)

Python字符串支持切片操作,word[:-1]会直接取到原字符串除最后一个字符外的所有内容,逻辑简单且高效,是最适合的方案。需要注意处理空字符串的情况,避免索引报错:

word = 'start'
new_word = word[:-1] if word else ''
print(new_word)  # 输出 'star'

word = 'aaaaa'
new_word = word[:-1] if word else ''
print(new_word)  # 输出 'aaaa'

word = ''
new_word = word[:-1] if word else ''
print(new_word)  # 输出 ''

方案2:使用rsplit()分割

如果想用分割的方式实现,可以用rsplit()从字符串右侧开始分割,只分割一次,再取前面的部分:

word = 'start'
if word:
    new_word = word.rsplit(word[-1], 1)[0]
else:
    new_word = ''
print(new_word)  # 输出 'star'

word = 'aaaaa'
new_word = word.rsplit(word[-1], 1)[0] if word else ''
print(new_word)  # 输出 'aaaa'

不过这种方式比切片多了一步分割操作,效率略低,因此更推荐切片方案。

内容的提问来源于stack exchange,提问作者Code Freak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:10:49