2012-04-10 15 views
0

Ich habe Zeichenfolge wie diese / 5 oder / 91 oder / 358. Ich muss die Ganzzahlen nach dem letzten Leerzeichen aus diesen Strings holen. Hier ist, wie ich es weiß, aber es kann nur eine Nummer bekommen. Wie man es macht?Parse eine Zahl aus einer Zeichenfolge

f_quantity = f_quantity.substr(f_quantity.length - 1);

+0

Versuch 'parseInt' oder' parseFloat' – SpYk3HH

+0

@ karim79 Es gibt noch Platz vor '/' too: P –

+0

parseInt (f_quantity.split ("/") [1], 10) dann – Tei

Antwort

3

Einfaches Beispiel können Sie in einer Web-Konsole validieren:

console.log(('/358').match("[0-9]+")); 
So 0

...

f_quantity = ('/358').match("[0-9]+"); 
0

wenn Platz vor der letzten Nummer können Sie schreiben folgendes:

string val = '/5' or '/91' or '/358'. 
var arr = val.split(' '); 
arr[val.length-1]; 
0

Man könnte so etwas wie folgt verwenden, dass Sie die Nummer erhalten:

var s = "/91"; 
var pattern = /[0-9]+/; 
var num = s.match(pattern); 
0

Hat der String immer das Format '/ NUM'? Wenn ja, verwenden diese die Zeichenfolge der Zahl zu erhalten:

f_quantity = f_quantity.substr(3, f_quantity.length); 

Und dann diese es in eine tatsächliche Zahl zu drehen:

f_quantity = parseInt(f_quantity); 

Oder als Einzeiler:

f_quantity = parseInt(f_quantity.substr(3, f_quantity.length)); 
0

Dies gibt Ihnen den letzten durch ein Leerzeichen voran Integer-Wert, so dass für zusätzlichen Leerraum am Ende:

f_quantity = ~~f_quantity.match(/\s+\d+\s*$/) 
Verwandte Themen