Python | Múltiples índices Reemplazar en string

A veces, mientras trabajamos con Python Stings, podemos tener un problema en el que necesitamos realizar el reemplazo de caracteres en función de varios índices de String. Este tipo de problema puede tener aplicaciones en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n. ° 1: usarloop + join()
esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, iteramos para cada carácter y lo reemplazamos con el carácter de reemplazo si ese es uno.

# Python3 code to demonstrate working of 
# Multiple indices Replace in String
# Using loop + join()
  
# initializing string
test_str = 'geeksforgeeks is best'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing list 
test_list = [2, 4, 7, 10]
  
# initializing repl char
repl_char = '*'
  
# Multiple indices Replace in String
# Using loop + join()
temp = list(test_str)
for idx in test_list:
    temp[idx] = repl_char
res = ''.join(temp)
  
# printing result 
print("The String after performing replace : " + str(res)) 
Producción :

The original string is : geeksforgeeks is best
The String after performing replace : ge*k*fo*ge*ks is best

Método n.º 2: Uso de la comprensión de listas +join()
La combinación de las funciones anteriores también se puede usar para realizar esta tarea. En esto, realizamos una tarea similar a la anterior, solo en un formato de línea utilizando la comprensión de listas.

# Python3 code to demonstrate working of 
# Multiple indices Replace in String
# Using list comprehension + join()
  
# initializing string
test_str = 'geeksforgeeks is best'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing list 
test_list = [2, 4, 7, 10]
  
# initializing repl char
repl_char = '*'
  
# Multiple indices Replace in String
# Using list comprehension + join()
temp = list(test_str)
res = [repl_char if idx in test_list else ele for idx, ele in enumerate(temp)]
res = ''.join(res)
  
# printing result 
print("The String after performing replace : " + str(res)) 
Producción :

The original string is : geeksforgeeks is best
The String after performing replace : ge*k*fo*ge*ks is best

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 *