Python: elimina todos los dígitos antes del número dado

Dada una string, elimine todos los dígitos numéricos antes del número K.

Método n. ° 1: usar split() + enumerar() + index() + comprensión de lista

Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos la tarea de dividir() para obtener todas las palabras, obtener el índice del número K usando index() y la comprensión de la lista se puede usar para extraer dígitos solo después del número K.

Python3

# Python3 code to demonstrate working of 
# Remove digits before K Number
# Using split() + enumerate() + index() + list comprehension
  
# initializing string
test_str = 'geeksforgeeks 2 6 is 4 geeks 5 and CS8'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K
K = 4
  
# get K Number index
idx = test_str.split().index(str(K))
  
# isdigit() used to check for number 
res = [ele for i, ele in enumerate(test_str.split()) if not (i < idx and ele.isdigit())]
res = ' '.join(res)
  
  
# printing result 
print("String after removing digits before K : " + str(res)) 
Producción

The original string is : geeksforgeeks 2 6 is 4 geeks 5 and CS8
String after removing digits before K : geeksforgeeks is 4 geeks 5 and CS8

Método #2: Usar regex() + index()

En este método, la expresión regular se usa para eliminar todos los elementos antes del índice requerido, y luego las strings se unen antes y después del índice.

Python3

# Python3 code to demonstrate working of 
# Remove digits before K Number
# Using regex() + index()
import re
  
# initializing string
test_str = 'geeksforgeeks 2 6 is 4 geeks 5 and CS8'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K
K = 4
  
# using regex to achieve task 
res = re.sub('[023456789]', '', test_str[0 : test_str.index(str(K))]) + test_str[test_str.index(str(K)):]
  
# printing result 
print("String after removing digits before K : " + str(res)) 
Producción

The original string is : geeksforgeeks 2 6 is 4 geeks 5 and CS8
String after removing digits before K : geeksforgeeks   is 4 geeks 5 and CS8

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 *