Python – Extraer string hasta numérico

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]))
Producción

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]))
Producción

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))
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *