Python: reemplaza varias palabras con K

A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos realizar un reemplazo de varias palabras con una sola palabra. Esto puede tener aplicación en muchos dominios, incluida la programación diurna y la programación escolar. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Uso join() + split() de la comprensión de lista +
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, dividimos la string en palabras, verificamos y reemplazamos las palabras de la lista usando la comprensión de unión y lista.

# Python3 code to demonstrate working of 
# Replace multiple words with K
# Using join() + split() + list comprehension
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks and CS'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing word list 
word_list = ["best", 'CS', 'for']
  
# initializing replace word 
repl_wrd = 'gfg'
  
# Replace multiple words with K
# Using join() + split() + list comprehension
res = ' '.join([repl_wrd if idx in word_list else idx for idx in test_str.split()])
  
# printing result 
print("String after multiple replace : " + str(res)) 
Producción :

The original string is : Geeksforgeeks is best for geeks and CS
String after multiple replace : Geeksforgeeks is gfg gfg geeks and gfg

Método #2: Usar regex +join()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, encontramos las palabras usando expresiones regulares y realizamos el reemplazo usando join() y comprensión de lista.

# Python3 code to demonstrate working of 
# Replace multiple words with K
# Using regex + join()
import re
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks and CS'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing word list 
word_list = ["best", 'CS', 'for']
  
# initializing replace word 
repl_wrd = 'gfg'
  
# Replace multiple words with K
# Using regex + join()
res = re.sub("|".join(sorted(word_list, key = len, reverse = True)), repl_wrd, test_str)
  
# printing result 
print("String after multiple replace : " + str(res)) 
Producción :

The original string is : Geeksforgeeks is best for geeks and CS
String after multiple replace : Geeksforgeeks is gfg gfg geeks and gfg

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 *