Programa de Python para extraer strings hasta el primer carácter no alfanumérico

Dada una string, extraiga todos los alfanuméricos antes de la primera aparición de no alfanuméricos.

Entrada : test_str = ‘geek$s4g!!!eeks’ 
Salida : geek 
Explicación : Detenido en $ocurrencia.

Entrada : test_str = ‘ge)eks4g!!!eeks’ 
Salida : ge 
Explicación : Detenido en ) ocurrencia.

Método n. ° 1: usar expresiones regulares + búsqueda()

En esto, search() se usa para buscar regex() apropiados para alfanuméricos, luego el resultado se divide hasta la primera aparición de un carácter no alfanumérico

Python3

# Python3 code to demonstrate working of 
# Extract string till first Non-Alphanumeric character
# Using regex + search()
import re
  
# initializing string
test_str = 'geeks4g!!!eeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# using start() to get 1st substring
res = re.search(r'\W+', test_str).start()
res = test_str[0 : res]
          
# printing result 
print("The resultant string : " + str(res))
Producción

The original string is : geeks4g!!!eeks
The resultant string : geeks4g

Método #2: Usar findall()

Esta es otra forma de expresiones regulares para resolver este problema. En esto, extraemos la primera substring antes del carácter no alnum accediendo al índice 0.

Python3

# Python3 code to demonstrate working of 
# Extract string till first Non-Alphanumeric character
# Using findall()
import re
  
# initializing string
test_str = 'geeks4g!!!eeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# using findall() to get all substrings 
# 0th index gives 1st substring
res = re.findall("[\dA-Za-z]*", test_str)[0]
          
# printing result 
print("The resultant string : " + str(res))
Producción

The original string is : geeks4g!!!eeks
The resultant string : geeks4g

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 *