我正在查看看起来像这样的声明:
def fn(somelongstring):
shorterstring = somelongstring.replace('very, ','').replace('long ', '')
fn('some very, very, very, long string')
在Python中执行此类操作的最有效方法是什么?
一些注意事项:
答案 0 :(得分:3)
使用re:
import re
shorterstring = re.sub('very, |long ', '', 'some very, very, very, long string')
您需要确保要替换为无的子字符串按长度的降序排列,以便首先替换较长的匹配。
或者,您可以避免链接的呼叫,并使用:
reduce(lambda a, b: a.replace(b, ''), ['very, ', 'long '], s)