根据特定数字分解或切割字符串
问题描述:
我在javascript上有这个整数。我要修剪或看到数字> 0号0之后例如后爆炸它:根据特定数字分解或切割字符串
var digit = 8001000
结果应该是digit[0] = 800
和digit[1] = 1000
。
它应该在最后一个零数字后找到一个大于0的数字,然后将其剪切。它应该只能从中间减去零,而不包括在数字结尾附近找到的零。
又如更清晰
var digit = 80100
结果应该是digit[0] = 80
和digit[1] = 100
。所以只要这些结果得到满足,多少零就没关系了。
任何答案将不胜感激!
答
你真的不能拆分的数字,但你可以把它变成一个字符串,使用的比赛用尾随零匹配任意数量,则值映射回数字
digit.toString().match(/[1-9]+0+/g).map(Number);
答
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");
如果这是一个家庭作业问题,OP只是失败 - 代码过于专业和娴熟的是学生工作。 – Malvolio 2014-09-02 18:26:13
为了匹配8010032,应该是/ [1-9] + 0 */g。假设答案是[80,100,32] – 2014-09-02 18:29:04
如果可能的话,稍加说明你写了什么,它是什么意思以及它是如何工作的 – 2014-09-02 18:29:26