首页 > 解决方案 > 同时替换两个字符串

问题描述

我想替换字符串中的字符,但它必须同时发生。我不希望一个替代品影响第二个。

例如,我有字符串“hello world”。我想用 e 替换 h,用 h 替换 e。我希望最终结果是“ehllo world”而不是“hhllo world”,如果我一个接一个地运行 2 个替换函数会发生这种情况。

我知道我可以通过在字符串上迭代一次来做到这一点,但我想知道是否有更 Pythonic 的方式来做到这一点。

标签: python

解决方案


使用str.translate

In [1]: s = "hello world"

In [2]: table = str.maketrans({'h': 'e', 'e': 'h'})

In [3]: s.translate(table)
Out[3]: 'ehllo world'

推荐阅读