如何在 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'

 

更新于: 30-9-2019

6K+ 浏览

开始您的 职业生涯

完成课程即可获得认证

开始
广告