Python | Sustituir carácter con su ocurrencia

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)) 
Producción :

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)) 
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *