Python – Retener números en string

A veces, mientras trabajamos con Python Strings, podemos tener un problema en el que necesitamos realizar la eliminación de todos los caracteres que no sean números enteros. Este tipo de problema puede tener aplicación en muchos dominios de datos, como el aprendizaje automático y el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_str = ‘G4g es el número 1’
Salida : 41

Entrada : test_str = ‘Gfg es No. 1’
Salida : 1

Método n.º 1: usar la comprensión de listas +join() + isdigit()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer números enteros usando isdigit(), la comprensión de listas se usa para la iteración y join() se usa para realizar la combinación de números filtrados.

# Python3 code to demonstrate working of 
# Retain Numbers in String
# Using list comprehension + join() + isdigit()
  
# initializing string
test_str = 'G4g is No. 1 for Geeks 7'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Retain Numbers in String
# Using list comprehension + join() + isdigit()
res = "".join([ele for ele in test_str if ele.isdigit()])
  
# printing result 
print("String after integer retention : " + str(res)) 
Producción :

The original string is : G4g is No. 1 for Geeks 7
String after integer retention : 417

Método #2: Usarregex()
La solución del problema también se puede encontrar usando expresiones regulares. En esto, formulamos expresiones regulares apropiadas para filtrar solo números de la string.

# Python3 code to demonstrate working of 
# Retain Numbers in String
# Using regex()
import re
  
# initializing string
test_str = 'G4g is No. 1 for Geeks 7'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Retain Numbers in String
# Using regex()
res = re.sub(r'[^\d]+', '', test_str) 
  
# printing result 
print("String after integer retention : " + str(res)) 
Producción :

The original string is : G4g is No. 1 for Geeks 7
String after integer retention : 417

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 *