# substringBefore > Return the part of a string before a specified substring.
## Usage ```javascript var substringBefore = require( '@stdlib/string/substring-before' ); ``` #### substringBefore( str, search ) Returns the part of a string before a specified substring. ```javascript var str = 'beep boop'; var out = substringBefore( str, ' ' ); // returns 'beep' out = substringBefore( str, 'o' ); // returns 'beep b' ```
## Notes - If a substring is not present in a provided string, the function returns the input string. - If provided an empty substring, the function returns an empty string.
## Examples ```javascript var substringBefore = require( '@stdlib/string/substring-before' ); var out = substringBefore( 'beep boop', 'p' ); // returns 'bee' out = substringBefore( 'Hello World!', 'xyz' ); // returns 'Hello World!' out = substringBefore( 'Hello World!', '' ); // returns '' out = substringBefore( '', 'xyz' ); // returns '' ```
* * *
## CLI
### Usage ```text Usage: substring-before [options] --search= [] Options: -h, --help Print this message. -V, --version Print the package version. --search string Search string. --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 $'foo\nbar\nbaz' | substring-before --search a --split /\r?\n/ # Escaped... $ echo -n $'foo\nbar\nbaz' | substring-before --search a --split /\\r?\\n/ ``` - The implementation ignores trailing delimiters.
### Examples ```bash $ substring-before abcdefg --search d abc ``` To use as a [standard stream][standard-streams], ```bash $ echo -n $'beep\nboop' | substring-before --search p bee boo ``` 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\tboop' | substring-before --search p --split '\t' bee boo ```