2016-05-13 14 views
0

Ich habe eine Zeichenfolge in javascript:float Anzahl von String-Extrahierung mit Hilfe von Javascript

ECTS: 7.5 pts 

Aus dieser Zeichenfolge Ich brauche 7.5 zu extrahieren und sie in einem float-Wert zu analysieren ..

Ich habe versucht, die Suche , aber keine der Lösungen, die ich fand, machte den Trick. Ich habe versucht:

var regex = /^\d+\.\d{0,3}$/; 
var string = "ECTS: 7.5 pts"; 
var number = parseFloat(string.match(regex)); 
console.log("number is: " + number); 

ich mit ein paar verschiedenen regulären Ausdrücken versucht haben, aber keiner von ihnen haben den Trick getan.

Ich habe dieses fiddle erstellt, um das Problem zu veranschaulichen.

EDIT1

ich verwenden, um diesen /\d+/ als meinen regex haben, aber das Fließkommazahlen nicht enthalten.

EDIT2

I ended /[+-]?\d+(\.\d+)?/g

Aktualisiert fiddle

+2

http://stackoverflow.com/questions/17374893/how-to-extract-floating-numbers-from-strings-in-javascript –

+0

@ WiktorStribiżew Ich habe diese bereits überprüft, und es hat nicht funktioniert. Ich habe es noch einmal versucht und es ist passiert. Danke. – Zeliax

Antwort

1

haben Sie das versuchen, mit diesem als meine regex up? var digits = Number((/(\d+\.\d+)/.exec('ECTS: 7.5 pts') || []).pop());

2

Dies funktioniert gut, keine Notwendigkeit für regex:

var s = "ECTS: 7.5 pts"; 
var n = parseFloat(s.split(" ")[1]); 
$("#test").text(n); 
+0

Schöne Lösung, aber ich könnte Probleme mit diesem Problem bekommen, da ich viele dieser Arten von Saiten habe, und sie sind nicht alle gleich, wenn es um Abstände geht. Natürlich konnte man das nicht wissen. + 1'ed deine Lösung. – Zeliax

Verwandte Themen