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

 

更新于:2019 年 9 月 30 日

6K+ 浏览量

开始您的职业生涯

完成课程,获得认证

开始
广告