5.5 KiB
5.5 KiB
truncateMiddle
Truncate a string in the middle to a specified length.
Usage
var truncateMiddle = require( '@stdlib/string/truncate-middle' );
truncate( str, len[, seq] )
Truncates a string in the middle to a specified length.
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:
var out = truncateMiddle( 'beep boop', 7, '!' );
// returns 'bee!oop'
out = truncateMiddle( 'beep boop', 7, '!!!' );
// returns 'be!!!op'
Examples
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
Usage: truncate-middle [options] [<string>] --len <length>
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, ensure that the
split
option is either properly escaped or enclosed in quotes.# 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
$ truncate-middle 'Hello, World!' --len 8
Hel...d!
$ truncate-middle 'Hello, World!' --len 6 --seq '!'
Hel|d!
To use as a standard stream,
$ echo -n 'Hello, World!' | truncate-middle --len 8
Hel...d!
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 'Hello, World!\tBeep Boop' | truncate-middle --split '\t' --len 6 --seq '!'
Hel|d!
Bee|op
See Also
@stdlib/string/truncate
: truncate a string to a specified length.