# 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
```
[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/substring-before-last]: https://github.com/stdlib-js/string/tree/main/substring-before-last
[@stdlib/string/substring-after]: https://github.com/stdlib-js/string/tree/main/substring-after
[@stdlib/string/substring-after-last]: https://github.com/stdlib-js/string/tree/main/substring-after-last