将所有出现的一个子字符串替换为另一个子字符串
Python 的 str
类型还有一种方法,用于将一个子字符串的出现替换为给定字符串中的另一个子字符串。对于要求更高的情况,可以使用 re.sub
。
str.replace(old, new[, count])
:
str.replace
接受两个参数 old
和 new
,其中包含 old
子字符串,该子字符串将被 new
子字符串替换。可选参数 count
指定要进行的替换次数:
例如,为了用以下字符串中的'spam'
替换'foo'
,我们可以用 old = 'foo'
和 new = 'spam'
调用 str.replace
:
>>> "Make sure to foo your sentence.".replace('foo', 'spam')
"Make sure to spam your sentence."
如果给定的字符串包含多个与 old
参数匹配的示例,则所有出现的内容都将替换为 new
中提供的值:
>>> "It can foo multiple examples of foo if you want.".replace('foo', 'spam')
"It can spam multiple examples of spam if you want."
当然,除非我们为 count
提供价值。在这种情况下,count
事件将被取代:
>>> """It can foo multiple examples of foo if you want, \
... or you can limit the foo with the third argument.""".replace('foo', 'spam', 1)
'It can spam multiple examples of foo if you want, or you can limit the foo with the third argument.'