Python - 以奇怪的方式替换字符串;

nma*_*ues 1 python string replace

任何人都可以帮忙吗?想象一下:

def example(s):
    s = s.replace('foo', 'foo bar')
    return s
Run Code Online (Sandbox Code Playgroud)

现在这将用'foo bar'取代'foo'; 但我想做一些不同的事情:*想象一下,我有'foo something'; 我希望最终的结果是:'foo something bar'

做出这种检查的最佳方式是什么(如果有'某事',我想保留它).

有人可以帮忙吗?

NM

Lan*_*aru 8

使用该re模块.

import re
def replace(s):
     return re.sub('foo(.*)', 'foo\1 bar', s)
replace('foo something') #'foo something bar'
Run Code Online (Sandbox Code Playgroud)