如何替换以下字符串中出现的前 N
个空格和制表符:
07/12/2017 11:01 AM 21523 filename with s p a c e s.js
我期待以下结果:
07/12/2017|11:01|AM|21523|filename with s p a c e s.js
我知道不是很优雅的选择,只能通过在同一个字符串上调用 replace N
次
.replace(/\s+/, "|").replace(/\s+/, "|").replace(/\s+/, "|");
值得一提的是,我将在近 1,000,000 行上运行此程序,因此性能很重要。
最佳答案
大概是这样的:
var txt = "07/12/2017 11:01 AM 21523 filename with s p a c e s.js";
var n = 0, N = 4;
newTxt = txt.replace(/\s+/g, match => n++ < N ? "|" : match);
newTxt; // "07/12/2017|11:01|AM|21523|filename with s p a c e s.js"
关于javascript - 替换字符串中的前 N 次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47230492/