根据特定数字爆炸或剪切字符串

时间:2014-09-02 18:17:11

标签: javascript

我在javascript上有这个整数。我想在看到一个数字>后修剪或爆炸它数字0后为0.例如:

var digit = 8001000

结果应为digit[0] = 800digit[1] = 1000

它应该在最后一个零号后找到一个大于0的数字然后切断它。它应该只从中间切出零,而不包括在数字末尾附近发现的零。

另一个更清楚的例子

var digit = 80100

结果应为digit[0] = 80digit[1] = 100。因此,只要满足这些结果,无论多少个零都无关紧要。

任何答案都将非常感谢!

3 个答案:

答案 0 :(得分:3)

您无法真正拆分数字,但可以将其转换为字符串,使用匹配匹配任意数字和尾随零,然后将值映射回数字

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

FIDDLE

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

没有经过测试,但是regex的那个:

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