A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos extraer todos los elementos de la string, excepto aquellos que se presentan en una substring. Este es un problema bastante común y tiene aplicación en muchos dominios, incluidos los de la programación diaria y competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Usar bucle Este es un enfoque de fuerza bruta para este problema. En esto, empleamos el operador not para probar la presencia del elemento en la string maestra y extraerlo si el elemento no está presente en la string K.
Python3
# Python3 code to demonstrate working of # Extract characters except of K string # Using loop # initializing strings test_str1 = "geeksforgeeks is best" test_str2 = "fes" # printing original strings print("The original string 1 is : " + test_str1) print("The original string 2 is : " + test_str2) # Extract characters except of K string # Using loop res = [] for ele in test_str1: if ele not in test_str2: res.append(ele) res = ''.join(res) # printing result print("String after removal of substring elements : " + str(res))
The original string 1 is : geeksforgeeks is best The original string 2 is : fes String after removal of substring elements : gkorgk i bt
Método n.º 2: Uso de operaciones de conjuntos Esta tarea también se puede realizar incluyendo operaciones de conjuntos. Se puede realizar una diferencia establecida para obtener la diferencia de elementos. Los inconvenientes son que no se conserva el orden y se eliminan los duplicados.
Python3
# Python3 code to demonstrate working of # Extract characters except of K string # Using set operations # initializing strings test_str1 = "geeksforgeeks is best" test_str2 = "fes" # printing original strings print("The original string 1 is : " + test_str1) print("The original string 2 is : " + test_str2) # Extract characters except of K string # Using set operations res = ''.join(list(set(test_str1) - set(test_str2))) # printing result print("String after removal of substring elements : " + str(res))
The original string 1 is : geeksforgeeks is best The original string 2 is : fes String after removal of substring elements : oti krbg
Método #3: Usando re.sub() : Esta tarea también se puede realizar usando la función re.sub. La función re.sub() se usa para sustituir el patrón coincidente con la otra string. Podemos usar una string vacía para sustituir qué funciona a medida que borramos todos los caracteres coincidentes en la string.
Python3
# # Python3 code to demonstrate working of # Extract characters except of K string # Using re.sub import re # initializing strings test_str1 = "geeksforgeeks is best" test_str2 = "fes" # printing original strings print("The original string 1 is : " + test_str1) print("The original string 2 is : " + test_str2) # Extract characters except of K string # Using re.sub res = re.sub(f'[{test_str2}]', "", test_str1) # printing result print("String after removal of substring elements : " + str(res))
Producción:
The original string 1 is : geeksforgeeks is best The original string 2 is : fes String after removal of substring elements : gkorgk i bt
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