Substituir as primeiras ocorrências de N na seqüência

Como posso substituir primeiroN ocorrências de muitos espaços em branco e guias na seguinte sequência:

07/12/2017  11:01 AM             21523 filename with s p a c  e  s.js

Estou esperando o seguinte resultado:

07/12/2017|11:01|AM|21523|filename with s p a c  e  s.js

Eu sei opção não muito elegante apenas através da chamada substituirN vezes na mesma sequência

.replace(/\s+/, "|").replace(/\s+/, "|").replace(/\s+/, "|");

Vale mencionar que vou executar isso em cerca de 1.000.000 de linhas, para que o desempenho seja importante.

questionAnswers(6)

yourAnswerToTheQuestion