Javascript从字符串中提取数字
我想从javascript中的字符串中提取数字,如下所示: 如果字符串='make1to6',我想在整个字符串中提取'to'子字符串前后的数字字符。i、 e.1和6将被提取 字符串的长度不是固定的,最多可以是10个字符。数字最多可以是字符串中“to”两侧的两个数字 可能的字符串值:Javascript从字符串中提取数字,javascript,regex,substring,slice,Javascript,Regex,Substring,Slice,我想从javascript中的字符串中提取数字,如下所示: 如果字符串='make1to6',我想在整个字符串中提取'to'子字符串前后的数字字符。i、 e.1和6将被提取 字符串的长度不是固定的,最多可以是10个字符。数字最多可以是字符串中“to”两侧的两个数字 可能的字符串值: 当然是1to3 ic3to9ltd 安娜1至6 欢乐1至4 从6点到12点 ext12到36 想想这样的事情: function beforeTo(string) { return numeric_val
- 当然是1to3
- ic3to9ltd
- 安娜1至6
- 欢乐1至4
- 从6点到12点
- ext12到36
function beforeTo(string) {
return numeric_value_before_'to'_in_the_string;
}
function afterTo(string) {
eturn numeric_value_after_'to'_in_the_string;
}
我将使用这些返回值进行一些计算。下面是一个示例函数,该函数将返回表示两个数字的数组,如果不匹配,则返回null:
function extractNumbers(str) {
var m = /(\d+)to(\d+)/.exec(str);
return m ? [+m[1], +m[2]] : null;
}
您可以调整该正则表达式以满足您的需要,例如使其不区分大小写:
/(\d+)到(\d+/i.exec(str)
下面是一个示例函数,该函数将返回表示两个数字的数组,如果不匹配,则返回null
:
function extractNumbers(str) {
var m = /(\d+)to(\d+)/.exec(str);
return m ? [+m[1], +m[2]] : null;
}
您可以调整正则表达式以满足您的需要,例如使其不区分大小写:
/(\d+)到(\d+/i。exec(str)
您可以使用正则表达式来查找它:
var str = "sure1to3";
var matches = str.match(/(\d+)to(\d+)/);
if (matches) {
// matches[1] = digits of first number
// matches[2] = digits of second number
}
您可以使用正则表达式来查找它:
var str = "sure1to3";
var matches = str.match(/(\d+)to(\d+)/);
if (matches) {
// matches[1] = digits of first number
// matches[2] = digits of second number
}
@桑迪505:嗯,你认识正则表达式,对吗<代码>/(\d+)到(\d+)/。我们从那开始
\d
表示“从0到9的任何数字”。\d+
表示“至少一个数字”。到只匹配单词“到”。。exec
对字符串执行表达式,并将其转换为匹配数组。所以m[1]
是第一组数字,m[2]
是第二组数字。。。如果匹配,则返回数组中的值。就这样。您现在可以访问第一个数字作为myArray[0]
,第二个数字作为myArray[1]
@Sandy505:嗯,您可以识别正则表达式,对吗<代码>/(\d+)到(\d+)/
。我们从那开始\d
表示“从0到9的任何数字”。\d+
表示“至少一个数字”。到只匹配单词“到”。。exec
对字符串执行表达式,并将其转换为匹配数组。所以m[1]
是第一组数字,m[2]
是第二组数字。。。如果匹配,则返回数组中的值。就这样。现在,您可以访问第一个编号为myArray[0]
,第二个编号为myArray[1]
。