Javascript извлечь числа из строки - PullRequest
1 голос
/ 03 декабря 2011

Я хочу извлечь числа из строки в JavaScript, как показано ниже:

если строка = 'make1to6', я бы хотел извлечь числовой символ до и после подстроки 'to' во всей строке. то есть 1 и 6 должны быть извлечены

Длина строки не фиксирована и может быть не более 10 символов в длину. Число может содержать не более двух цифр по обе стороны от «до» в строке.

Возможные строковые значения:

  • sure1to3
  • ic3to9ltd
  • anna1to6
  • joy1to4val
  • make6to12
  • ext12to36

думает о чем-то вроде:

function beforeTo(string) {
    return numeric_value_before_'to'_in_the_string;
}

function afterTo(string) {
    eturn numeric_value_after_'to'_in_the_string;
}

я буду использовать эти возвращаемые значения для некоторых вычислений.

Ответы [ 2 ]

6 голосов
/ 03 декабря 2011

Вот пример функции, которая будет возвращать массив, представляющий два числа, или null, если не было совпадения:

function extractNumbers(str) {
    var m = /(\d+)to(\d+)/.exec(str);
    return m ? [+m[1], +m[2]] : null;
}

Вы можете адаптировать это регулярное выражение к вашим потребностям, скажем, сделав его без учета регистра: /(\d+)to(\d+)/<em><strong>i</strong></em>.exec(str).

1 голос
/ 03 декабря 2011

Вы можете использовать регулярное выражение, чтобы найти его:

var str = "sure1to3";
var matches = str.match(/(\d+)to(\d+)/);
if (matches) {
    // matches[1] = digits of first number
    // matches[2] = digits of second number
}
...