Python Regex zum Extrahieren des maximalen numerischen Werts aus einer Zeichenfolge
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,
- Suchen Sie mit der Methode re.findall (Ausdruck, Zeichenfolge) nach einer Liste aller Ganzzahlen in Zeichenfolgen, die durch Kleinbuchstaben getrennt sind .
- 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)
max
(numbers)
if
__name__
=
=
"__main__"
:
input
=
'100klh564abc365bg'
extractMax(
input
)
Ausgabe:
564