如何在 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+ 瀏覽量

開始您的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.