Javascript:删除连字符

时间:2017-07-28 15:04:26

标签: 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 个答案:

答案 0 :(得分:1)

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