У меня есть строка, извлекаемая со страницы в формате "4m 26s", как я могу раздеть это за считанные секунды?
Большое спасибо,
Простое регулярное выражение будет работать:
var s = '21m 06s'; var m = /(\d{1,2})m\s(\d{1,2})s/.exec(s); var mins = parseInt(m[1], 10); var secs = parseInt(m[2], 10);
var str = "4m 26s"; var arr = str.split(" "); var sec = parseInt(arr[0], 10)*60 + parseInt(arr[1], 10);
Вам не нужно регулярное выражение, если вы используете parseInt ...
Способ без регулярных выражений:
Сделайте string.split(" ") на вашей строке; затем выполните string.slice(0, -1) для обоих массивов. Умножьте первую запись на 60. Сложите их вместе.
string.split(" ")
string.slice(0, -1)
var str = "4m 26s"; console.log(str.match(/\d+m\s+(\d+)s/)[1]);//26