📅  最后修改于: 2023-12-03 15:07:55.886000             🧑  作者: Mango
在Python中,如果我们要对一个字符串中的多个不同的子串进行替换,通常有两种做法:
在这种做法中,我们使用字符串的 replace 方法来逐一替换每个子串。例如,我们要把字符串中的 "foo" 和 "bar" 全部替换为 "baz",可以使用以下代码:
s = "hello foo world bar"
s = s.replace("foo", "baz").replace("bar", "baz")
print(s)
上述代码输出结果为:
hello baz world baz
这种做法的缺点是,如果要替换的子串很多,代码会变得很冗长。
在这种做法中,我们使用正则表达式的 re.sub 方法来一次性替换多个子串。例如,我们要把字符串中的 "foo" 和 "bar" 全部替换为 "baz",可以使用以下代码:
import re
s = "hello foo world bar"
s = re.sub("foo|bar", "baz", s)
print(s)
上述代码输出结果为:
hello baz world baz
这种做法的优点是,可以一次性替换多个子串,代码更简洁。缺点是,如果要替换的子串中有一些是正则表达式的特殊字符,需要对其进行转义。
总结: