Javascript:删除连字符



所以我一直在研究这个函数,但我无法弄清楚如何删除字符串末尾的剩余连字符。

function solution(s) {
var l = s.length,
max = l - (l % 3 ? ((l + 1) % 3 ? 4 : 2) : 0);
var result = "";
for(var i = 0; i < max; i+=3) {
result += s.replace(/[^0-9]/gi, '').slice(i, i + 3) + "-";
}
for(var i = max; i < l; i+=2) {
result += s.replace(/[^0-9]/gi, '').slice(i, i + 2) + "-";
}
return result.slice(0,-1);
}
console.log(solution("0 - 22 1985--324"));
console.log(solution("555372654"));

我知道"result.slice(0,-1("应该已经解决了这个问题,但它只是删除了最后的一个连字符。

return /.*[^-]/.exec(result)[0]       

最新更新