Expand tabs into spaces
Tabs vs. spaces is a long-standing debate in the programming community. I don't feel like getting into that debate, but I can help you convert tabs to spaces in JavaScript.
This entire exercise is a simple matter of replacing each tab character with a certain number of spaces. You can control the number of spaces each tab corresponds to via the count
argument, allowing you to customize the output to your liking.
Simply put, using String.prototype.replace()
with a regular expression and String.prototype.repeat()
will do the trick. The regular expression /\t/g
matches all tab characters in the string, which are then replaced with count
spaces.
const expandTabs = (str, count) => str.replace(/\t/g, ' '.repeat(count)); expandTabs('\t\tlorem', 3); // ' lorem'