我想让结果说“而不是冰,我想要比萨饼”。我只能想出如何替换所有出现的“冰”,而不是只替换最后一个。我试图通过索引和切片来做到这一点,但我不能想出,解释将非常感谢。
def replace_last_word(sentence, old, new):
if sentence.endswith(old):
i = sentence.index(old)
new_sentence = (sentence[:i] + new)
return new_sentence
return sentence
print(replace_last_word("Instead of ice i want ice", "ice", "pizza"))
3条答案
按热度按时间yrdbyhpb1#
可以使用负步长切片来反转字符串,然后利用字符串
.replace()
方法的count
参数:然后,您的程序应打印:
如果句子不以关键字结尾,也可以使用:
一个二个一个一个
gudnpqoy2#
使用
rindex
(而不是index
)从末尾开始搜索。如果要替换的字符串不总是在末尾,则必须追加剩余的切片。
62lalag43#
通过将句子转换为单词列表检查旧单词是否存在于单词列表中从结尾迭代到开始如果存在,则更改该单词并中断循环,如果不存在,则打印相同的句子