Python – Primeros K dígitos consecutivos en String

Dada una string y el número K, extraiga los primeros K dígitos consecutivos que forman el número.

Entrada : test_str = “geeks5geeks43best”, K = 2
Salida : 43
Explicación : 43 son los primeros 2 dígitos consecutivos.

Entrada : test_str = “geeks5gee2ks439best”, K = 3
Salida : 439
Explicación : 439 son los primeros 3 dígitos consecutivos.

Método #1: Usar bucle

Esta es la forma bruta en la que se puede realizar esta tarea. En esto, ejecutamos un ciclo a través de la lista y verificamos si están presentes N elementos consecutivos válidos para el dígito actual, si es así, devolvemos esos N elementos.

Python3

# Python3 code to demonstrate working of 
# First K consecutive digits in String
# Using loop
  
# initializing string
test_str = "geeks5geeks43isbest"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K 
K = 2
  
# using loop to run through characters 
res = ""
for idx in range(len(test_str) - K + 1):
        is_num = True
          
        # check for valid number of consecutives
        for j in range(K):
            is_num = is_num & test_str[idx + j].isdigit()
              
        # extracting numbers 
        if is_num :
            res = ""
            for j in range(K):
                res += test_str[idx + j]
  
# printing result 
print("Required character digits : " + str(res)) 
Producción

The original string is : geeks5geeks43isbest
Required character digits : 43

Método #2: Usando regex()

Esta es otra forma más en la que se puede realizar esta tarea. En esto, aplicamos una expresión regular válida y, después del procesamiento, el resultado se devuelve como ocurrencias, se devuelve la primera.

Python3

# Python3 code to demonstrate working of 
# First K consecutive digits in String
# Using regex()
import re
  
# initializing string
test_str = "geeks5geeks43isbest"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing K 
K = 2
  
# using regex() to solve problem
temp = re.search('\d{% s}'% K, test_str)
res = (temp.group(0) if temp else '')
  
# printing result 
print("Required character digits : " + str(res)) 
Producción

The original string is : geeks5geeks43isbest
Required character digits : 43

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 *