# truncateMiddle > Truncate a string in the middle to a specified length.
## Usage ```javascript var truncateMiddle = require( '@stdlib/string/truncate-middle' ); ``` #### truncate( str, len\[, seq] ) Truncates a string in the middle to a specified length. ```javascript var out = truncateMiddle( 'beep boop', 7 ); // returns 'be...op' ``` By default, the truncated string uses the replacement sequence `'...'`. To customize the replacement sequence, provide a `seq` argument: ```javascript var out = truncateMiddle( 'beep boop', 7, '!' ); // returns 'bee!oop' out = truncateMiddle( 'beep boop', 7, '!!!' ); // returns 'be!!!op' ```
## Examples ```javascript var truncateMiddle = require( '@stdlib/string/truncate-middle' ); var str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'; var out = truncateMiddle( str, 15 ); // returns 'Lorem ... elit.' str = 'To be or not to be, that is the question'; out = truncateMiddle( str, 19, '|' ); // returns 'To be or | question' str = 'The quick fox jumps over the lazy dog.'; out = truncateMiddle( str, 28, '...' ); // returns 'The quick fox...he lazy dog.' str = '🐺 Wolf Brothers 🐺'; out = truncateMiddle( str, 7 ); // returns '🐺 ... 🐺' str = '🐺 Wolf Pack 🐺'; out = truncateMiddle( str, 7, '🐺🐺🐺' ); // returns '🐺 🐺🐺🐺 🐺' ```
* * *
## CLI
### Usage ```text Usage: truncate-middle [options] [] --len Options: -h, --help Print this message. -V, --version Print the package version. --len length String length. --seq str Custom replacement sequence. Default: '...'. --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 $'Hello, World!\nBeep Boop Baz' | truncate-middle --len 6 --split /\r?\n/ # Escaped... $ echo -n $'Hello, World!\nBeep Boop Baz' | truncate-middle --len 6 --split /\\r?\\n/ ``` - The implementation ignores trailing delimiters.
### Examples ```bash $ truncate-middle 'Hello, World!' --len 8 Hel...d! $ truncate-middle 'Hello, World!' --len 6 --seq '!' Hel|d! ``` To use as a [standard stream][standard-streams], ```bash $ echo -n 'Hello, World!' | truncate-middle --len 8 Hel...d! ``` 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 'Hello, World!\tBeep Boop' | truncate-middle --split '\t' --len 6 --seq '!' Hel|d! Bee|op ```