如何在 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) #Split only once return new.join(li) rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
这将给出输出
'Hello world, hello world, hi world'
广告