📜  Python|一次替换多个字符

📅  最后修改于: 2022-05-13 01:55:31.260000             🧑  作者: Mango

Python|一次替换多个字符

用另一个字符替换一个字符是过去每个Python程序员都会遇到的常见问题。但有时,我们需要一个简单的单线解决方案来执行此特定任务。让我们讨论可以执行此任务的某些方式。

方法 #1:使用嵌套的replace()
这个问题可以使用嵌套的替换方法来解决,该方法在内部会创建一个临时文件。变量来保持中间替换状态。

# Python3 code to demonstrate working of
# Replace multiple characters at once
# Using nested replace()
  
# initializing string 
test_str = "abbabba"
  
# printing original string 
print("The original string is : " + str(test_str))
  
# Using nested replace()
# Replace multiple characters at once
res = test_str.replace('a', '%temp%').replace('b', 'a').replace('%temp%', 'b')
  
# printing result 
print("The string after replacement of positions : " + res)
输出 :
The original string is : abbabba
The string after replacement of positions : baabaab

方法 #2:使用translate() + maketrans()
还有一个专用函数可以在一行中执行此类替换任务,因此这是解决此特定问题的推荐方法。仅适用于 Python2。

# Python code to demonstrate working of
# Replace multiple characters at once
# Using translate() + maketrans()
import string
  
# initializing string 
test_str = "abbabba"
  
# printing original string 
print("The original string is : " + str(test_str))
  
# Using translate() + maketrans()
# Replace multiple characters at once
res = test_str.translate(string.maketrans("ab", "ba"))
  
# printing result 
print("The string after replacement of positions : " + res)
输出 :
The original string is : abbabba
The string after replacement of positions : baabaab