Hallo,
ich hab mal wieder ein Problem das mich zur Verzweiflung treibt:
Ich habe einen String, z. B. diesen: "Das Auto fährt mit 100km/h Geschwindigkeit und fährt 200km weit."
Nun muss ich die Zahlen daraus extrahieren und sie Variablen zuordnen mit denen man rechnen kann, in diesem Beispiel etwa: weg=200 und tempo=100.
Mein erster experimenteller Ansatz war den String mittels contains() nach einem Muster zu durchsuchen, den Index zu ermitteln und dann mit substring() die Zeichen vor dem Index zu extrahieren. Als Auszug sieht das ganze Momentan so aus:
Wobei der String ausdruck über die Tastatur eingelesen wird und der String tempo das Muster "km/h" und String weg das Muster "km " ist.
Das klappt soweit ganz gut, doch mein Problem ist das die Zahlen nicht notwendiger Weise 3 Ziffern umfassen - denkbar wäre z. B, auch ein Weg von 10km oder 5000km...
Gibt es einen Weg den Index des Leerzeichens vor dem Muster zu ermitteln, so das ich diesen als startIndex für substring() verwenden kann?
ich hab mal wieder ein Problem das mich zur Verzweiflung treibt:
Ich habe einen String, z. B. diesen: "Das Auto fährt mit 100km/h Geschwindigkeit und fährt 200km weit."
Nun muss ich die Zahlen daraus extrahieren und sie Variablen zuordnen mit denen man rechnen kann, in diesem Beispiel etwa: weg=200 und tempo=100.
Mein erster experimenteller Ansatz war den String mittels contains() nach einem Muster zu durchsuchen, den Index zu ermitteln und dann mit substring() die Zeichen vor dem Index zu extrahieren. Als Auszug sieht das ganze Momentan so aus:
Java:
if (ausdruck.contains(tempo)==true)
{
int endIndex=ausdruck.indexOf(tempo);
int startIndex=endIndex-3;
v=Float.valueOf(ausdruck.substring(startIndex, endIndex));
}
if (ausdruck.contains(weg)==true)
{
int endIndex=ausdruck.indexOf(weg);
int startIndex=endIndex-3;
s=Float.valueOf(ausdruck.substring(startIndex, endIndex));
}
Wobei der String ausdruck über die Tastatur eingelesen wird und der String tempo das Muster "km/h" und String weg das Muster "km " ist.
Das klappt soweit ganz gut, doch mein Problem ist das die Zahlen nicht notwendiger Weise 3 Ziffern umfassen - denkbar wäre z. B, auch ein Weg von 10km oder 5000km...
Gibt es einen Weg den Index des Leerzeichens vor dem Muster zu ermitteln, so das ich diesen als startIndex für substring() verwenden kann?