如何替换 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) #Splitonlyonce return new.join(li) rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
这将给出输出:
'Hello world, hello world, hi world'