A veces, mientras trabajamos con Python, podemos tener un problema en el que necesitamos sustituir un carácter con su aparición en una string. Este es un problema peculiar pero puede tener aplicación en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n. ° 1: Usar bucle
Esta es una forma bruta de resolver el problema. En esto, ejecutamos un ciclo para cada carácter en la string y realizamos la sustitución mientras aumentamos el contador cada vez.
# Python3 code to demonstrate working of # Substitute character with its occurrence # Using loop # initializing string test_str = "geeksforgeeks is best for geeks" # printing original string print("The original string is : " + test_str) # initializing letter test_let = 'g' # Substitute character with its occurrence # Using loop res = '' count = 1 for chr in test_str: if chr == test_let: res += str(count) count += 1 else: res += chr # printing result print("The string after performing substitution : " + str(res))
The original string is : geeksforgeeks is best for geeks The string after performing substitution : 1eeksfor2eeks is best for 3eeks
Método #2: Usar lambda + regex +next()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de iteración usando lambda, la expresión regular y next() se usa para realizar la tarea de contar la iteración y encontrar el carácter objetivo.
# Python3 code to demonstrate working of # Substitute character with its occurrence # Using lambda + regex + next() from itertools import count import re # initializing string test_str = "geeksforgeeks is best for geeks" # printing original string print("The original string is : " + test_str) # initializing letter test_let = 'g' # Substitute character with its occurrence # Using lambda + regex + next() cnt = count(1) res = re.sub(r"g", lambda x: "{}".format(next(cnt)), test_str) # printing result print("The string after performing substitution : " + str(res))
The original string is : geeksforgeeks is best for geeks The string after performing substitution : 1eeksfor2eeks is best for 3eeks
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