2017-07-28 74 views
-3

所以我一直在研究这个函数,但我无法弄清楚如何去除字符串末尾的其余连字符。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)”应该已经解决了该问题,但它只是删除在最后一个连字符。

+1

预期产量是多少? – epascarello

+0

您可以添加一个简单的'输入:'''预期输出:'示例?目前还不清楚你想要做什么。 – Nope

+0

你可以使用正则表达式来做到这一点:'result.replace(/ \ - $ /,'')' – elegisandi

回答

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

谢谢!这是有帮助的! –