Programa de Python para reemplazar cada N-ésimo carácter en String

Dada una string, la tarea es escribir un programa en Python para reemplazar cada carácter N en una string por el valor K dado.

Ejemplos:

Entrada: test_str = «geeksforgeeks es lo mejor para todos los geeks», K = ‘$’, N = 5

Salida: geeks$orge$ks i$bes$for$all $eeks

Explicación: cada quinto carácter se convierte en $.

Entrada : test_str = «geeksforgeeks es lo mejor para todos los geeks», K = ‘*’, N = 5

Salida : geeks*orge*ks i* bes* for*all *eeks

Explicación: cada quinta ocurrencia se convierte a *.

Método 1: usar bucle y enumerar()

En esto, realizamos una iteración de cada carácter y verificamos si es Nth realizando módulo, es decir, encontrando el resto por N. Si es Nth ocurrencia, el carácter se reemplaza por K.

Ejemplo

Python3

# initializing string
test_str = "geeksforgeeks is best for all geeks"
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = '$'
 
# initializing N
N = 5
 
res = ''
for idx, ele in enumerate(test_str):
 
    # add K if idx is multiple of N
    if idx % N == 0 and idx != 0:
        res = res + K
    else:
        res = res + ele
 
# printing result
print("String after replacement : " + str(res))

Producción:

La string original es: geeksforgeeks es lo mejor para todos los geeks

String después del reemplazo: geeks $orge $ks i $bes $for $all $eeks

Método 2: usar la expresión del generador , unir() y enumerar()

En esto, la construcción de strings ocurre usando join(). El enumerate(), ayuda a obtener los índices requeridos. La expresión del generador proporciona un enfoque abreviado de este problema.

Ejemplo

Python3

# initializing string
test_str = "geeksforgeeks is best for all geeks"
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = '$'
 
# initializing N
N = 5
 
res = ''.join(ele if idx % N or idx == 0 else K for idx,
              ele in enumerate(test_str))
 
# printing result
print("String after replacement : " + str(res))

Producción:

La string original es: geeksforgeeks es lo mejor para todos los geeks

String después del reemplazo: geeks $orge $ks i $bes $for $all $eeks

La complejidad temporal y espacial de todos los métodos es la misma:

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(n)

Método 3: Usar listas

Python3

# initializing string
test_str = "geeksforgeeks is best for all geeks"
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = '$'
 
# initializing N
N = 5
 
x=list(test_str)
ns=""
for i in range(0,len(x)):
    if(i!=0 and i%5==0):
        ns+=K
    else:
        ns+=test_str[i]
# printing result
print("String after replacement : " + str(ns))
Producción

The original string is : geeksforgeeks is best for all geeks
String after replacement : geeks$orge$ks i$bes$for$all $eeks

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 *