snakecase

Convert a string to snake case.

Usage

var snakecase = require( '@stdlib/string/snakecase' );

snakecase( str )

Converts a string to snake case.

var str = snakecase( 'Foo Bar' );
// returns 'foo_bar'

str = snakecase( 'I am a tiny little house' );
// returns 'i_am_a_tiny_little_house'

str = snakecase( 'Hello World!' );
// returns 'hello_world'

Examples

var snakecase = require( '@stdlib/string/snakecase' );

var str = 'foo bar baz';
var out = snakecase( str );
// returns 'foo_bar_baz'

str = 'foo_baz';
out = snakecase( str );
// returns 'foo_baz'

str = 'foo_bar_baz!';
out = snakecase( str );
// returns 'foo_bar_baz'

str = 'beep    boop!';
out = snakecase( str );
// returns 'beep_boop'

str = 'foo-baz';
out = snakecase( str );
// returns 'foo_baz'

str = 'Welcome! ๐Ÿ˜€';
out = snakecase( str );
// returns 'welcome_๐Ÿ˜€'

CLI

Usage

Usage: snakecase [options] [<string>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.

Notes

  • If the split separator is a regular expression, ensure that the split option is either properly escaped or enclosed in quotes.

    # Not escaped...
    $ echo -n $'beEp booP\nfooBar' | snakecase --split /\r?\n/
    
    # Escaped...
    $ echo -n $'beEp booP\nfooBar' | snakecase --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ snakecase 'hello world!'
hello_world

To use as a standard stream,

$ echo -n 'beEp booP' | snakecase
beep_boop

By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.

$ echo -n 'beEp booP\tfooBar' | snakecase --split '\t'
beep_boop
foo_bar
Did you find this page helpful?