Guten Morgen,
Wie lässt es sich ohne Angabe von Positionen ein (Integer)Wert aus einer Zeichenkette ermitteln?
Beispielstrimg:
Der Zug benötigt bis zu Endstation 128 Minuten.
oder
Der Zug benötigt bis zum Ziel 128 Minuten.
Gesucht wir der Wert 128.
Danke Euch für jeden Anstoss zur Lösung.
Integer aus Zeichenkette
Moderator: jNizM
Re: Integer aus Zeichenkette
Hallo,
versuche:bzw.:
\d+ bedeutet "eine oder mehrere Ziffern" (decimal digit).
v2 läßt den Namen Integer nicht mehr zu und beherrscht nur noch die Match-Objekt-Ausgabe.
Um ein Objekt zu vermeiden:\D bedeutet "Nichtziffer".
versuche:
Code: Select all
#Requires AutoHotkey v1.1.33
Text = Der Zug benötigt bis zu Endstation 128 Minuten.
RegExMatch(Text, "\d+", Integer)
MsgBox,% Integer
Code: Select all
#Requires AutoHotkey v2.0
Text := "Der Zug benötigt bis zu Endstation 128 Minuten."
RegExMatch(Text, "(\d+)", &Ganzzahl)
MsgBox Ganzzahl[1]
v2 läßt den Namen Integer nicht mehr zu und beherrscht nur noch die Match-Objekt-Ausgabe.
Um ein Objekt zu vermeiden:
Code: Select all
#Requires AutoHotkey v2.0
Text := "Der Zug benötigt bis zu Endstation 128 Minuten."
Ganzzahl := RegExReplace(Text, "\D")
MsgBox Ganzzahl