Dada una string, la tarea es escribir un programa Python para extraer hasta encontrar todos los caracteres de otras strings.
Entrada: test_str = «geeksforgeeks es lo mejor para todos los geeks», check_str = «freak»
Salida: geeksforgeeks es mejor para un
Explicación: a es la última letra en freak que está presente en la string. La string se imprime hasta la primera aparición de a.
Entrada: test_str = «geeksforgeeks es lo mejor para todos los geeks», check_str = «geeki»
Salida: geeksforgeeks i
Explicación: i es la última letra en freak que está presente en la string. La string se imprime hasta la primera aparición de i.
Método n.º 1: usar all() + rebanar + bucle
En esto, la substring se construye hasta el índice actual en un bucle, luego, desde la string, todos los elementos de otras strings se verifican usando all(). Si todos están presentes, se devuelve la substring.
Python3
# Python3 code to demonstrate working of # Extract String till all occurrence of characters from other string # Using all() + slicing + loop # initializing string test_str = "geeksforgeeks is best for all geeks" # printing original string print("The original string is : " + str(test_str)) # initializing check string check_str = "freak" for idx in range(1, len(test_str)): temp = test_str[:idx] # checking for all chars of check_str in substring if all([char in temp for char in check_str]): res = temp break # printing result print("String till all characters occurred : " + str(res))
Producción:
The original string is : geeksforgeeks is best for all geeks String till all characters occurred : geeksforgeeks is best for a
Método #2: Usando find() + max() + corte
En esto, se itera cada carácter en la string de verificación, se verifica el índice de todos y se registra el máximo de ellos. La substring cortada hasta el índice máximo es una respuesta requerida.
Python3
# Python3 code to demonstrate working of # Extract String till all occurrence of characters from other string # Using find() + max() + slice # initializing string test_str = "geeksforgeeks is best for all geeks" # printing original string print("The original string is : " + str(test_str)) # initializing check string check_str = "freak" # max() find maximum index of all characters res = test_str[:max([test_str.find(idx) for idx in check_str]) + 1] # printing result print("String till all characters occurred : " + str(res))
Producción:
The original string is : geeksforgeeks is best for all geeks String till all characters occurred : geeksforgeeks is best for a
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