time-to-botec/squiggle/node_modules/@stdlib/string/truncate-middle
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00
..
bin feat: add the node modules 2022-12-03 12:44:49 +00:00
docs feat: add the node modules 2022-12-03 12:44:49 +00:00
etc feat: add the node modules 2022-12-03 12:44:49 +00:00
lib feat: add the node modules 2022-12-03 12:44:49 +00:00
package.json feat: add the node modules 2022-12-03 12:44:49 +00:00
README.md feat: add the node modules 2022-12-03 12:44:49 +00:00

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