Python | Reemplazar varios caracteres a la vez

El reemplazo de un carácter por otro es un problema común con el que todo programador de python habría trabajado en el pasado. Pero a veces, necesitamos una solución simple de una línea que pueda realizar esta tarea en particular. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso anidadoreplace()
Este problema se puede resolver con el método de reemplazo anidado, que internamente crearía un archivo temporal. variable para mantener el estado de reemplazo intermedio.

# 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)
Producción :

The original string is : abbabba
The string after replacement of positions : baabaab

Método #2: Usotranslate() + maketrans()
También hay una función de dedicación que puede realizar este tipo de tarea de reemplazo en una sola línea, por lo tanto, esta es una forma recomendada de resolver este problema en particular. Funciona solo en 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)
Producción :

The original string is : abbabba
The string after replacement of positions : baabaab

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *