To Snake Case

Converts a string to snake casing.

Contributed by @itsbrunodev

javascript
function toSnakeCase(str) {
  return str
    .replace(/^[^A-Za-z0-9]*|[^A-Za-z0-9]*$/g, '')
    .replace(/([a-z])([A-Z])/g, (m, a, b) => a + '_' + b.toLowerCase())
    .replace(/[^A-Za-z0-9]+|_+/g, '_')
    .toLowerCase();
}
javascript
toSnakeCase("hello world"); // "hello_world"

Keywords

string
casing