Dada una string alfanumérica, extraiga el valor numérico máximo de esa string. Los alfabetos solo estarán en minúsculas. Ejemplos:
Input : 100klh564abc365bg Output : 564 Maximum numeric value among 100, 564 and 365 is 564. Input : abchsd0sdhs Output : 0
Este problema tiene una solución existente, consulte Extraer el valor numérico máximo de una string dada | Enlace del conjunto 1 (enfoque general) . Resolveremos este problema rápidamente en python usando Regex . El enfoque es muy simple,
- Encuentre una lista de todos los números enteros en una string separados por caracteres en minúsculas usando el método re.findall (expresión, string) .
- Convierta cada número en forma de string en un número decimal y luego encuentre el máximo.
Implementación:
Python
# Function to extract maximum numeric value from # a given string import re def extractMax(input): # get a list of all numbers separated by # lower case characters # \d+ is a regular expression which means # one or more digit # output will be like ['100','564','365'] numbers = re.findall('\d+',input) # now we need to convert each number into integer # int(string) converts string into integer # we will map int() function onto all elements # of numbers list numbers = map(int,numbers) print max(numbers) # Driver program if __name__ == "__main__": input = '100klh564abc365bg' extractMax(input)
Producción
564
Publicación traducida automáticamente
Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA