Python: extrae la string después de la enésima aparición del carácter K

Dada una string, extraiga la string después de la enésima aparición de un carácter. 

Entrada : test_str = ‘geekforgeeks’, K = “e”, N = 2 Salida : kforgeeks Explicación : después de la 2.ª ocurrencia. de la string «e» se extrae. Entrada : test_str = ‘geekforgeeks’, K = “e”, N = 4 Salida : ks Explicación : después de la 4ª ocurrencia. de la string «e» se extrae.

Método #1: Usando split()

Esta es una de las formas en que se puede realizar esta tarea. En esto, personalizamos split() para dividir en la enésima ocurrencia y luego imprimimos la string extraída trasera usando «-1».

Python3

# Python3 code to demonstrate working of
# Extract String after Nth occurrence of K character
# Using split()
 
# initializing string
test_str = 'geekforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = "e"
 
# initializing N
N = 3
 
# using split() to perform required string split
# "-1" to extract required part
res = test_str.split(K, N)[-1]
 
# printing result
print("The extracted string : " + str(res))
Producción

The original string is : geekforgeeks
The extracted string : eks

Método #2: Usar re.split()

Esta es otra manera de resolver este problema. Similar a la función anterior, realizamos split() para realizar la tarea de dividir pero desde la biblioteca de expresiones regulares que también brinda flexibilidad para dividir en la enésima ocurrencia.

Python3

# Python3 code to demonstrate working of
# Extract String after Nth occurrence of K character
# Using re.split()
import re
 
# initializing string
test_str = 'geekforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = "e"
 
# initializing N
N = 3
 
# using split() to perform required string split
# "-1" to extract required part
res = re.split(K, test_str, N)[-1]
 
# printing result
print("The extracted string : " + str(res))
Producción

The original string is : geekforgeeks
The extracted string : eks

Método #3: Usando el corte

Python3

str = "geeksforgeeks"
char="e"
count=2
j=1
print("The original string : "+str)
for i in range(0,len(str)):
    if(str[i]==char and j<count):
        j+=1
    elif(str[i]==char and j==count):
        print("The extracted string : "+str[i+1:])
        break
Producción

The original string : geeksforgeeks
The extracted string : ksforgeeks

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 *