Javascript从字符串中提取数字

San*_*505 1 javascript regex substring slice

我想 javascript中的字符串提取数字,如下所示:

如果string ='make1to6'我想在整个字符串中的'to'子字符串之前和之后提取数字字符.即提取1和6

字符串的长度不固定,长度最多为10个字符.字符串中"to"两侧的数字最多可以是两位数.

可能的字符串值:

  • 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;
}
Run Code Online (Sandbox Code Playgroud)

我将使用这些返回值进行一些计算.

Ry-*_*Ry- 6

这是一个示例函数,它将返回一个表示两个数字的数组,或者null如果没有匹配:

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

您可以调整该正则表达式以满足您的需求,比如说它不区分大小写:./(\d+)to(\d+)/i.exec(str)

  • @ Sandy505:嗯,你认出正则表达式,对吧?`/(\ d +)至(\ d +)/`.我们将从那开始.`\ d`表示"任何数字,从0到9".`\ d +`表示"至少有一个数字".`to`只匹配单词"to".`.exec`在字符串上执行表达式,并将其转换为匹配数组.所以`m [1]`是第一组数字,而`m [2]`是第二组数字......如果匹配则返回数组中的数字.而已.您现在可以将第一个数字作为"myArray [0]"访问,将第二个作为"myArray [1]"访问. (3认同)