Given a string str, the task is to extract all the numbers from a string and find out the most occurring element of them using Regex Python.
It is guaranteed that no two element have the same frequency
Examples:
Input :geek55of55Lazyroar4abc3dr2
Output :55
Input :abcd1def2high2bnasvd3vjhd44
Output :2
Approach:Extract all the numbers from a string str using re.findall() function from regex library in python, and with the use of Counter function from collection library we can get the most occurred element.
Below is the Python implementation of above approach
Python3
# your code goes here# Python program to # find the most occurring element import re from collections import Counter def most_occr_element(word): # re.findall will extract all the elements # from the string and make a list arr = re.findall(r '[0-9]+' , word) # to store maxm frequency maxm = 0 # to store maxm element of most frequency max_elem = 0 # counter will store all the number with # their frequencies # c = counter((55, 2), (2, 1), (3, 1), (4, 1)) c = Counter(arr) # Store all the keys of counter in a list in # which first would we our required element for x in list (c.keys()): if c[x]> = maxm: maxm = c[x] max_elem = int (x) return max_elem # Driver program if __name__ = = "__main__" : word = 'geek55of55gee4ksabc3dr2x' print (most_occr_element(word)) |
Output:
55