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))
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))
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
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