Python Regex to extract maximum numeric value from string

Python Methods and Functions | Regular Expressions | String Variables

Examples:

 Input: 100klh564abc365bg Output: 564 Maximum numeric value among 100, 564 and 365 is 564. Input: abchsd0sdhs Output: 0 

This problem has existing solution please refer Regex . The approach is very simple,

  1. Find a list of all integers in a string, separated by lowercase letters, using method re.findall (expression, string) .
  2. Convert each number as a string to a decimal number, then find the maximum.
  3. # A function to extract the maximum numeric value from
    # given string

    import re

     

    def extractMax ( input ):

     

    # get a list of all numbers separated by

    # lowercase

    # / d + is a regular expression that means

      # one or more digits

    # the output will be like [& # 39; 100 & # 39 ;, & # 39; 564 & # 39;, & # 39; 365 & # 39;]

    numbers = re.findall ( 'd +' , input )

     

    # now we need to convert each number to an integer

    # int (string) converts the string to an integer

    # we map the int () function to all elements

    List of numbers

    numbers = map ( int , numbers)

     

    print max (numbers)

     
    # Driver program

    if __ name__ = = "__ main __" < / code> :

    input = '100klh564abc365bg'

      extractMax ( input )

    Output:

     564 




Get Solution for free from DataCamp guru