所以我一直在研究这个函数,但我无法弄清楚如何删除字符串末尾的余数连字符。
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)”应该已经解决了问题,但最后只删除了一个连字符。
答案 0 :(得分:1)
return /.*[^-]/.exec(result)[0]