如何在Python中替换字符串中最后一次出现的表达式?
这个问题可以通过翻转字符串,翻转要替换的字符串,用要替换的字符串的翻转字符串替换字符串,最终翻转字符串以获得结果来解决。
您可以使用简单的切片符号 – [::-1] 来翻转字符串。要替换字符串,可以使用 str.replace(old, new, count)。例如,
def rreplace(s, old, new):
return (s[::-1].replace(old[::-1],new[::-1], 1))[::-1]
rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
这将产生输出:
'Hello world,hello world, hi world'
另一种方法是通过在旧字符串上划分替换字符串并将列表与新字符串连接来完成。例如,
def rreplace(s, old, new):
li = s.rsplit(old, 1) # 仅分割一次
return new.join(li)
rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
这将产生输出:
'Hello world, hello world, hi world'
阅读更多:Python 教程