我想在javascript中从字符串中提取数字,如下所示:
如果string ='make1to6'我想在整个字符串中的'to'子字符串之前和之后提取数字字符。即提取1和6
字符串的长度不固定,长度最多为10个字符。字符串中“to”两侧的数字最多可以是两位数。
可能的字符串值:
想到类似的东西:
function beforeTo(string) {
return numeric_value_before_'to'_in_the_string;
}
function afterTo(string) {
eturn numeric_value_after_'to'_in_the_string;
}
我将使用这些返回值进行一些计算。
答案 0 :(得分:6)
这是一个示例函数,它将返回一个表示两个数字的数组,如果没有匹配则返回null
:
function extractNumbers(str) {
var m = /(\d+)to(\d+)/.exec(str);
return m ? [+m[1], +m[2]] : null;
}
您可以调整该正则表达式以满足您的需求,例如使其不区分大小写:/(\d+)to(\d+)/i.exec(str)
。
答案 1 :(得分:1)
您可以使用正则表达式来查找它:
var str = "sure1to3";
var matches = str.match(/(\d+)to(\d+)/);
if (matches) {
// matches[1] = digits of first number
// matches[2] = digits of second number
}