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

開始您的 職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.