Dada una string, extraiga todo su contenido hasta la primera aparición del carácter numérico.
Entrada : test_str = “geeksforgeeks7 is best” Salida : geeksforgeeks Explicación : se extraen todos los caracteres antes del 7. Entrada : test_str = «2geeksforgeeks7 es mejor» Salida : «» Explicación : No se extrajo ningún carácter porque la primera letra es numérica.
Método #1: Usar isdigit() + index() + bucle
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, verificamos la primera aparición de numérico usando isdigit() e index() se usa para obtener el índice requerido hasta el cual se debe extraer el contenido.
Python3
# Python3 code to demonstrate working of # Extract String till Numeric # Using isdigit() + index() + loop # initializing string test_str = "geeks4geeks is best" # printing original string print("The original string is : " + str(test_str)) # loop to iterating characters temp = 0 for chr in test_str: # checking if character is numeric, # saving index if chr.isdigit(): temp = test_str.index(chr) # printing result print("Extracted String : " + str(test_str[0 : temp]))
The original string is : geeks4geeks is best Extracted String : geeks
Método #2: Usando regex()
Esta es otra forma más en la que se puede realizar esta tarea. Usando expresiones regulares apropiadas(), uno puede obtener contenido antes de posibles valores numéricos.
Python3
# Python3 code to demonstrate working of # Extract String till Numeric # Using regex() import re # initializing string test_str = "geeks4geeks is best" # printing original string print("The original string is : " + str(test_str)) # regex to get all elements before numerics res = re.findall('([a-zA-Z ]*)\d*.*', test_str) # printing result print("Extracted String : " + str(res[0]))
The original string is : geeks4geeks is best Extracted String : geeks
Método #3: Sin ningún método incorporado
Inicialice una string con todos los dígitos del 0 al 9, una string vacía. Repita un bucle for en la string dada y agregue los caracteres a la string vacía, si encuentra el primer carácter numérico ( usando en el operador ) rompa el bucle for
Python3
# Python3 code to demonstrate working of # Extract String till Numeric # initializing string test_str = "geeks4geeks is best" # printing original string print("The original string is : " + str(test_str)) # loop to iterating characters res="" num="0123456789" for i in test_str: if i in num: break else: res+=i # printing result print("Extracted String : " + str(res))
The original string is : geeks4geeks is best Extracted String : geeks
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