Python | Reemplazar caracteres después de K ocurrencias

A veces, mientras trabajamos con strings de Python, podemos tener problemas en los que necesitamos reemplazar caracteres después de ciertas repeticiones de caracteres. Esto puede tener aplicación en muchos dominios, incluida la programación diaria y competitiva.

Método n.º 1: Uso de loop + string slicing
Esta es una forma de fuerza bruta en la que se puede resolver este problema. En esto, ejecutamos un bucle en la string y realizamos un seguimiento de las ocurrencias y realizamos un reemplazo cuando está por encima de K ocurrencia.

# Python3 code to demonstrate working of 
# Replace characters after K occurrences
# Using loop + string slices
  
# initializing string
test_str = "geeksforgeeks is best for geeks"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing K 
K = 2
  
# initializing Repl char
repl_char = "*"
  
# Replace characters after K occurrences
# Using loop + string slices
for sub in set(test_str):
    for idx in [idx for idx in range(len(test_str)) if test_str[idx] == sub][K:]:
        test_str = test_str[:idx] + repl_char + test_str[idx + 1:]
  
# printing result 
print("The string after performing replace : " + test_str) 
Producción :

The original string is : geeksforgeeks is best for geeks
The string after performing replace : geeksforg**ks i* b**t*for******

Método n.º 2: usarjoin() + count() + enumerate()
Esto es una abreviatura mediante la cual se puede realizar esta tarea. En esto, empleamos count() para verificar el conteo de strings y join() y enumerate() se pueden usar para realizar la tarea de construcción de nuevas strings.

# Python3 code to demonstrate working of 
# Replace characters after K occurrences
# Using join() + count() + enumerate()
  
# initializing string
test_str = "geeksforgeeks is best for geeks"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing K 
K = 2
  
# initializing Repl char
repl_char = "*"
  
# Replace characters after K occurrences
# Using join() + count() + enumerate()
res = "".join(chr if test_str.count(chr, 0, idx) < K
      else repl_char for idx, chr in enumerate(test_str))
  
# printing result 
print("The string after performing replace : " + res) 
Producción :

The original string is : geeksforgeeks is best for geeks
The string after performing replace : geeksforg**ks i* b**t*for******

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 *