从javascript中的字符串获取数字
我有一个字符串可以如下所示:从javascript中的字符串获取数字,javascript,string,numbers,Javascript,String,Numbers,我有一个字符串可以如下所示: 8=0,2=1,5=1,6=0,7=0 我只想提取后跟=0的数字,在本例中为8、6和7 如何在JavaScript中执行此操作?试试: '8=0,2=1,5=1,6=0,7=0' .match(/\d?=(0{1})/g) .join(',') .replace(/=0/g,'') .split(','); //=> [8,6,7] (strings) 或者,如果您可以使用高级: 尝试: 或者,如果您可以使用高级: 请注意,这将返回
8=0,2=1,5=1,6=0,7=0
我只想提取后跟=0的数字,在本例中为8、6和7
如何在JavaScript中执行此操作?试试:
'8=0,2=1,5=1,6=0,7=0'
.match(/\d?=(0{1})/g)
.join(',')
.replace(/=0/g,'')
.split(','); //=> [8,6,7] (strings)
或者,如果您可以使用高级:
尝试:
或者,如果您可以使用高级:
请注意,这将返回一个数字数组,而不是字符串
或者,这里有一个更简洁但更慢的答案:
'8=0,2=1,5=1,6=0,7=0'.match(/\d+(?==0)/g);
答案相同,但返回的是数字而不是字符串:
'8=0,2=1,5=1,6=0,7=0'.match(/\d+(?==0)/g).map(parseFloat);
请注意,这将返回一个数字数组,而不是字符串
或者,这里有一个更简洁但更慢的答案:
'8=0,2=1,5=1,6=0,7=0'.match(/\d+(?==0)/g);
答案相同,但返回的是数字而不是字符串:
'8=0,2=1,5=1,6=0,7=0'.match(/\d+(?==0)/g).map(parseFloat);
试试这个:
function parse(s)
{
var a = s.split(",");
var b = [];
var j = 0;
for(i in a)
{
if(a[i].indexOf("=0")==-1) continue;
b[j++] = parseFloat(a[i].replace("=0",""));
}
return b;
}
希望有帮助 试试这个:
function parse(s)
{
var a = s.split(",");
var b = [];
var j = 0;
for(i in a)
{
if(a[i].indexOf("=0")==-1) continue;
b[j++] = parseFloat(a[i].replace("=0",""));
}
return b;
}
希望有帮助 你试过什么吗?你试过什么吗?他只想要数字而不是=0
part:)他只想要数字而不是=0
part:)因为返回数字就足够了<代码>文档。写入
将杀死站点。如果您删除它,我将更新您的答案。@vngek.exe,因为它足以返回数字<代码>文档。写入将杀死站点。如果你删除它,我会更新你的答案。@vngek.exe+1但是你可以像这样简化你的正则表达式/(\d+=0/g
,然后删除If(keep==“0”)
+1但是你可以像这样简化你的正则表达式/(\d+=0/g
,然后删除If(keep==“0”)