2012-04-10 3 views
0

У меня есть строка типа / 5 или / 91 или / 358. Мне нужно получить целые числа после последнего пробела из этих строк. Вот как я это знаю, но он может получить только один номер. Как это сделать?Разберите номер из строки

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

+0

попробовать 'parseInt' или' parseFloat' – SpYk3HH

+0

@ karim79 Существует пробел перед '/': P –

+0

parseInt (f_quantity.split ("/") [1], 10), тогда – Tei

ответ

3

Простой пример можно проверить в веб-консоли:

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

Итак ...

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

если есть место перед последним номером вы можете написать следующее:

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

Вы могли бы использовать что-то вроде этого, что получит Вас номер:

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

Всегда ли строка в формате '/ NUM'? Если да, то использовать это, чтобы получить строку из числа:

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

А потом это, чтобы превратить его в реальный номер:

f_quantity = parseInt(f_quantity); 

Или как однострочника:

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

Это даст вам последнее целое значение предшествует пробел, что позволяет для дополнительного белого пространства в конце:

f_quantity = ~~f_quantity.match(/\s+\d+\s*$/) 
Смежные вопросы