根据特定数字分解或切割字符串

问题描述:

我在javascript上有这个整数。我要修剪或看到数字> 0号0之后例如后爆炸它:根据特定数字分解或切割字符串

var digit = 8001000 

结果应该是digit[0] = 800digit[1] = 1000

它应该在最后一个零数字后找到一个大于0的数字,然后将其剪切。它应该只能从中间减去零,而不包括在数字结尾附近找到的零。

又如更清晰

var digit = 80100 

结果应该是digit[0] = 80digit[1] = 100。所以只要这些结果得到满足,多少零就没关系了。

任何答案将不胜感激!

你真的不能拆分的数字,但你可以把它变成一个字符串,使用的比赛用尾随零匹配任意数量,则值映射回数字

digit.toString().match(/[1-9]+0+/g).map(Number); 

FIDDLE

+0

如果这是一个家庭作业问题,OP只是失败 - 代码过于专业和娴熟的是学生工作。 – Malvolio 2014-09-02 18:26:13

+0

为了匹配8010032,应该是/ [1-9] + 0 */g。假设答案是[80,100,32] – 2014-09-02 18:29:04

+0

如果可能的话,稍加说明你写了什么,它是什么意思以及它是如何工作的 – 2014-09-02 18:29:26

var num = 8001000; 
(''+num).match(/([^0]+0+)/g); 
// returns ["800", "1000"] 

将该数字转换为字符串,然后查找所有出现的NOT-ZERO,然后是ZEROES。

没有测试,但是这是一个regex

digit1 = digit.replace(/([0-9]*0)[1-9][0-9]*$/, "$1"); 
digit2 = digit.replace(/[0-9]*0([1-9][0-9]*)$/, "$1");