Javascript 使用正则表达式从数组中删除零

Javascript 使用正则表达式从数组中删除零,javascript,regex,photoshop-script,Javascript,Regex,Photoshop Script,我从Photoshop中得到一个直方图数组作为字符串 var rArray = activeDocument.channels["Red"].histogram.toString() 对于那些没有Photoshop的人,只需忽略这个细节,因为它将是一个类似于 66500,0,0,0,0,0,0,0,0,0,10000,0,0,0,0,0,0,0... 0,0,0,0,0,0,0,0,750,0,0,0,0,0,0,0,0,0,0... 目前,我有一个函数来循环(字符串作

我从Photoshop中得到一个直方图数组作为字符串

 var rArray = activeDocument.channels["Red"].histogram.toString()
对于那些没有Photoshop的人,只需忽略这个细节,因为它将是一个类似于

66500,0,0,0,0,0,0,0,0,0,10000,0,0,0,0,0,0,0...
0,0,0,0,0,0,0,0,750,0,0,0,0,0,0,0,0,0,0...
目前,我有一个函数来循环(字符串作为一个数组)并删除任何零值。然而,我相信它可以用正则表达式来完成。只不过我选了一个我想保留的数字的零

.replace(/(,0)/g,"")
只有这样才会回来

665010000
75
而不是

66500
750
预期的输出是消除所有零

66500,10000
750
看到了吗


我很确定这只能作为正则表达式来完成,我不知道如何指定“0”或“0$”零以及逗号或零和结束字符串。

模式/^0 |,0/g应该可以做到这一点

请点击此处: regexr.com/5akbq

您可以使用

^(?:0,)+|(?:,0)+$|\b0,

详细信息

  • ^(?:0,)+
    -从字符串开始出现一个或多个
    0,
    子字符串
  • |
    -或
  • (?:,0)+$
    -一次或多次出现
    ,0
    子字符串,直到字符串结束
  • |
    -或
  • \b0,
    -单词边界,后跟
    0,
    子字符串

尝试
。替换(/,?\b0\b,/g.)
。或者,
.replace(/^(?:0,)*(\d+).*/,“$1”)
。它必须是正则表达式吗?您不能在数组本身上使用
.filter
过滤掉零,然后在生成的数组上调用
.toString
吗?虽然第一个正则表达式不需要括号,但它应该可以工作。你能做一个片段来显示这种行为吗。@Phillip很遗憾,我使用的Photoshop的ECMAScript中没有过滤功能。@Keith我添加了一个regex101链接,如果这样就足够了,而不是JSFIDLE(我没有使用过)