什么是 replace()?
在 Python 中,str.replace(old, new[, count]) 是一个内置的字符串方法,
用于将字符串中的指定子串 old 替换为 new。
可选参数 count 用于限制替换次数。
该方法 不会修改原字符串(因为字符串在 Python 中是不可变的),而是返回一个新字符串。
基本语法
str.replace(old, new, count)
old:要被替换的子字符串。new:用来替换的新字符串。count(可选):最多替换的次数。默认替换所有匹配项。
使用示例
1. 全部替换
s = "Hello World! Hello Python!"
result = s.replace("Hello", "Hi")
print(result)
# 输出: Hi World! Hi Python!
Hi World! Hi Python!
2. 限制替换次数
s = "apple apple apple"
result = s.replace("apple", "orange", 2)
print(result)
# 输出: orange orange apple
orange orange apple
3. 替换空格或特殊字符
text = "a-b-c-d"
cleaned = text.replace("-", " ")
print(cleaned)
# 输出: a b c d
a b c d
常见应用场景
- 清理用户输入(如去除多余空格、替换非法字符)
- 日志格式标准化
- 模板字符串填充(简单场景)
- URL 或文件路径中的分隔符转换
注意事项
replace()是区分大小写的。如需忽略大小写,可结合re.sub()使用正则表达式。- 它只适用于字符串。若需对列表、字典等结构中的字符串批量替换,需配合循环或列表推导式。
- 性能:对于大量文本或复杂模式,正则表达式可能更灵活,但
replace()在简单替换中速度更快。
交互小实验(浏览器内运行)
尝试修改下方输入框,点击“执行”查看 replace() 效果: