DEV Community

Cover image for 1 line of code: How to convert spaces to tabs
martin krause
martin krause

Posted on

1 line of code: How to convert spaces to tabs

const spacesToTabs = (str, tabsize = 4) =>
  str.replace(new RegExp(` {${tabsize}}`, "g"), "\t");
Enter fullscreen mode Exit fullscreen mode

Returns the string and replaces all tabs with the given amount of spaces (tab size).


The repository & npm package

You can find the all the utility functions from this series at github.com/martinkr/onelinecode
The library is also published to npm as @onelinecode for your convenience.

The code and the npm package will be updated every time I publish a new article.


Follow me on Twitter: @martinkr and consider to buy me a coffee

Photo by zoo_monkey on Unsplash


Subscribe to the weekly modern frontend development newsletter


Discussion (3)

Collapse
lexlohr profile image
Alex Lohr

This is still converting tabs to spaces, not the other way around, as advertised.

const spacesToTabs = (input, length = 4) => input.replace(new RegExp(` {${length}}`, 'g'), '\t');
Enter fullscreen mode Exit fullscreen mode
Collapse
martinkr profile image
martin krause Author

Hi Alex,

thank you for pointing this out. Classic copy & paste error.

I updated the code and the article with my originally inteded code.

Cheers!

Collapse
jancizmar profile image
Jan Cizmar

Shorter! 😅

const spacesToTabs = (str, tabsize = 4) =>
    str.replace(/\s{${tabsize}}/g, "\t")
Enter fullscreen mode Exit fullscreen mode