You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中一次性替换字符串中的多组字符?

解决多组字符替换与replace方法的疑问

1. 用maketrans同时替换多组字符

maketrans支持一次性定义多组字符映射,只要保证原字符序列和目标字符序列长度一致即可。比如你要把'a'换成'z',同时把'S'换成'P',代码可以这么写:

string = "Hello Sam!"
# 原字符与目标字符一一对应:S→P,a→z
trans_table = string.maketrans("Sa", "Pz")
print(string.translate(trans_table))  # 输出:Hello Pzm!

如果需要更灵活的映射(比如单个字符替换成多字符、或者删除指定字符),还可以给maketrans传入字典参数:

# 字典键为原字符,值为目标字符(传None表示删除该字符)
trans_table = string.maketrans({'S': 'P', 'a': 'z', '!': None})
print(string.translate(trans_table))  # 输出:Hello Pzm

2. replace方法是否替换所有匹配项

默认情况下,replace会替换字符串中全部匹配的字符/子串。示例:

string = "aaa bbb aaa"
print(string.replace('a', 'z'))  # 输出:zzz bbb zzz

如果只想替换指定次数,给第三个参数count传入数字即可:

print(string.replace('a', 'z', 2))  # 输出:zza bbb aaa

内容的提问来源于stack exchange,提问作者Dovydas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:45:24