# snakecase
> Convert a string to snake case.
## Usage
```javascript
var snakecase = require( '@stdlib/string/snakecase' );
```
#### snakecase( str )
Converts a string to snake case.
```javascript
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
```javascript
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
```text
Usage: snakecase [options] []
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][mdn-regexp], ensure that the `split` option is either properly escaped or enclosed in quotes.
```bash
# 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
```bash
$ snakecase 'hello world!'
hello_world
```
To use as a [standard stream][standard-streams],
```bash
$ echo -n 'beEp booP' | snakecase
beep_boop
```
By default, when used as a [standard stream][standard-streams], the implementation assumes newline-delimited data. To specify an alternative delimiter, set the `split` option.
```bash
$ echo -n 'beEp booP\tfooBar' | snakecase --split '\t'
beep_boop
foo_bar
```
[standard-streams]: https://en.wikipedia.org/wiki/Standard_streams
[mdn-regexp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
[@stdlib/string/camelcase]: https://github.com/stdlib-js/string/tree/main/camelcase
[@stdlib/string/constantcase]: https://github.com/stdlib-js/string/tree/main/constantcase
[@stdlib/string/kebabcase]: https://github.com/stdlib-js/string/tree/main/kebabcase