Python: reemplaza todas las palabras excepto la palabra dada

Dada una string. La tarea es reemplazar todas las palabras con ‘?’ excepto la palabra dada K.

Ejemplos: 

Entrada : test_str = ‘gfg es mejor para geeks’, K = «gfg», repl_char = «?» 
Salida : gfg? ? ? ? 
Explicación : todas las palabras, excepto gfg, se sustituyen por ?.

Entrada : test_str = ‘gfg es mejor para gfg’, K = «gfg», repl_char = «?» 
Salida : gfg? ? ? gfg 
Explicación : todas las palabras excepto gfg se reemplazan por ?. 

Método #1: Usando split() + join() + loop

Esta es una forma bruta en la que se puede realizar esta tarea. En esto, realizamos la tarea de cambiar la string a la lista de palabras usando split() y luego buscamos la palabra K, si no la encontramos, la reemplazamos por el valor apropiado. Y, por último, vuelva a convertir a la string usando join() .

Python3

# Python3 code to demonstrate working of
# Replace all words not K
# Using join() + split() + loop
  
# initializing string
test_str = 'gfg is best for geeks gfg is for cs I love gfg'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K
K = "gfg"
  
# initializing repl_char
repl_char = "?"
  
# extracting words
temp = test_str.split(" ")
for idx in range(len(temp)):
    ele = temp[idx]
  
    # replace non K with repl_char
    if not ele == K:
        temp[idx] = repl_char
  
# joining result
res = " ".join(temp)
  
# printing result
print("The resultant string : " + str(res))

Producción:

La string original es: gfg es mejor para geeks gfg es para cs Me encanta gfg
La string resultante: gfg? ? ? ? ¿Gfg? ? ? ? ? novia

Método #2: Usar la comprensión de listas 

Esta es otra forma más en la que se puede realizar esta tarea. En esto, iteramos por elementos y realizamos la tarea usando una sola línea usando una funcionalidad similar al método anterior.

Python3

# Python3 code to demonstrate working of
# Replace all words not K
# Using list comprehension
  
# initializing string
test_str = 'gfg is best for geeks gfg is for cs I love gfg'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K
K = "gfg"
  
# initializing repl_char
repl_char = "?"
  
# using one-liner to solve this problem
res = " ".join(
    [repl_char if not ele == K else ele for ele in test_str.split()])
  
# printing result
print("The resultant string : " + str(res))

Producción:

La string original es: gfg es mejor para geeks gfg es para cs Me encanta gfg
La string resultante: gfg? ? ? ? ¿Gfg? ? ? ? ? novia

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 *