将所有出现的一个子字符串替换为另一个子字符串

Python 的 str 类型还有一种方法,用于将一个子字符串的出现替换为给定字符串中的另一个子字符串。对于要求更高的情况,可以使用 re.sub

str.replace(old, new[, count])

str.replace 接受两个参数 oldnew,其中包含 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.'