Ich habe eine Zeichenfolge "Um über 10385.29 um 2:25 Uhr zu sein".Get Double Wert von String
Ich möchte Double-Wert von dieser Zeichenfolge erhalten.
Ich versuche, mit Muster und Matcher wie:
Pattern pattern = Pattern.compile("(\\w+?).(\\w+?)");
Matcher matcher = pattern.matcher(instrumentName);
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2);
System.out.println("Key : " + key + " value : " + value);
}
Aber es funktioniert seltsam und nicht den doppelten Wert finden.
ich will als Ergebnis Double value = 10385.29
Dieser Wert wie xxx.xx
oder xxxxx.xx
sein kann. Nach dem Punkt sind immer zwei Zahlen, aber vorher können zwei, fünf oder mehr sein.
See [diese Demo] (https://ideone.com/A4Uoay) –
Stellen Sie sicher, dass Sie genau verstehen, was der reguläre Ausdruck bedeutet. Derzeit bedeutet es wahrscheinlich nicht, was Sie denken, dass es bedeutet. Beachten Sie, dass '.' ein Sonderzeichen in regulären Ausdrücken ist. Siehe die API-Dokumentation von ['java.util.regex.Pattern'] (http://docs.oracle.com/javase/8/docs/api/). – Jesper
Dies wurde bereits beantwortet; Siehe [diese Frage] (http://stackoverflow.com/questions/6734521/getting-a-double-out-of-a-string) für ein paar verschiedene Lösungen. –