Extrahieren Sie bei einer alphanumerischen Zeichenfolge den maximalen numerischen Wert aus dieser Zeichenfolge. Alphabete werden nur in Kleinbuchstaben geschrieben.

Beispiele:

Eingabe: 100klh564abc365bg
Ausgabe: 564
Maximaler numerischer Wert unter 100, 564
und 365 ist 564.
Eingabe: abchsd0sdhs
Ausgabe: 0

Dieses Problem ist bereits gelöst. Weitere Informationen finden Sie unter Extrahieren des maximalen numerischen Werts aus einer bestimmten Zeichenfolge | Setzen Sie den Link 1 (allgemeiner Ansatz) . Wir werden dieses Problem in Python mit Regex schnell lösen . Ansatz ist sehr einfach,

  1. Suchen Sie mit der Methode re.findall (Ausdruck, Zeichenfolge) nach einer Liste aller Ganzzahlen in Zeichenfolgen, die durch Kleinbuchstaben getrennt sind .
  2. Konvertieren Sie jede Zahl in Form einer Zeichenfolge in eine Dezimalzahl und ermitteln Sie dann das Maximum.
import re 
  
def extractMax(input): 
  
     
     
     
     
     
     numbers = re.findall('\d+',input) 
  
     
     
     
     
     numbers = map(int,numbers) 
  
     print max(numbers) 
  
if __name__ == "__main__": 
    input = '100klh564abc365bg'
    extractMax(input) 

Ausgabe:

564