Dada una string de palabras. La tarea es escribir un programa en Python para reemplazar la palabra dada independientemente del caso con la string dada.
Ejemplos:
Entrada: test_str = «gfg is Best», repl = «good», subs = «best»
Salida: gfg es bueno
Explicación: BeSt se reemplaza por «bueno» ignorando los casos.
Entrada: test_str = «gfg is Best», repl = «mejor», subs = «mejor»
Salida: gfg es mejor
Explicación: BeSt se reemplaza por «mejor» ignorando los casos.
Método #1: Usar re.IGNORECASE + re.escape() + re.sub()
En esto, sub() de regex se usa para realizar la tarea de reemplazo e IGNORECASE, ignora los casos y realiza un reemplazo que no distingue entre mayúsculas y minúsculas.
Python3
# Python3 code to demonstrate working of # Case insensitive Replace # Using re.IGNORECASE + re.escape() + re.sub() import re # initializing string test_str = "gfg is BeSt" # printing original string print("The original string is : " + str(test_str)) # initializing replace string repl = "good" # initializing substring to be replaced subs = "best" # re.IGNORECASE ignoring cases # compilation step to escape the word for all cases compiled = re.compile(re.escape(subs), re.IGNORECASE) res = compiled.sub(repl, test_str) # printing result print("Replaced String : " + str(res))
The original string is : gfg is BeSt Replaced String : gfg is good
Método #2: Usar sub() + lambda + escape()
Usando una expresión regular de caso de ignorar particular, también se puede resolver este problema. Resto, se usa una función lambda para manejar los caracteres de escape si están presentes en la string.
Python3
# Python3 code to demonstrate working of # Case insensitive Replace # Using sub() + lambda + escape() import re # initializing string test_str = "gfg is BeSt" # printing original string print("The original string is : " + str(test_str)) # initializing replace string repl = "good" # initializing substring to be replaced subs = "best" # regex used for ignoring cases res = re.sub('(?i)'+re.escape(subs), lambda m: repl, test_str) # printing result print("Replaced String : " + str(res))
The original string is : gfg is BeSt Replaced String : gfg is good
Método #3 : Usar split(), lower() y replace(). También puede usar upper() en lugar de lower().
Python3
# Python3 code to demonstrate working of # Case insensitive Replace # initializing string test_str = "gfg is BeSt" # printing original string print("The original string is : " + str(test_str)) # initializing replace string repl = "good" # initializing substring to be replaced subs = "best" x = test_str.split() for i in x: if(i.lower()==subs.lower()): test_str=test_str.replace(i,repl) # printing result print("Replaced String : " + test_str) #contributed by Bhavya Koganti
The original string is : gfg is BeSt Replaced String : gfg is good
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