removeFirst

Remove the first character(s) of a string.

Usage

var removeFirst = require( '@stdlib/string/remove-first' );

removeFirst( str[, n][, options] )

Removes the first character(s) of a string.

var out = removeFirst( 'last man standing' );
// returns 'ast man standing'

out = removeFirst( 'Hidden Treasures' );
// returns 'idden Treasures'

The function supports the following options:

  • mode: type of characters to return. Must be one of the following:

    • 'grapheme': grapheme clusters. Appropriate for strings containing visual characters which can span multiple Unicode code points (e.g., emoji).
    • 'code_point': Unicode code points. Appropriate for strings containing visual characters which are comprised of more than one Unicode code unit (e.g., ideographic symbols and punctuation and mathematical alphanumerics).
    • 'code_unit': UTF-16 code units. Appropriate for strings containing visual characters drawn from the basic multilingual plane (BMP) (e.g., common characters, such as those from the Latin, Greek, and Cyrillic alphabets).

    Default: 'grapheme'.

By default, the function returns the first character. To return the first n characters, provide a second argument specifying the number of characters to return.

var out = removeFirst( 'foo bar', 4 );
// returns 'bar'

out = removeFirst( 'foo bar', 10 );
// returns ''

Notes

  • By default, the function assumes the general case in which an input string may contain an arbitrary number of grapheme clusters. This assumption comes with a performance cost. Accordingly, if an input string is known to only contain visual characters of a particular type (e.g., only alphanumeric), one can achieve better performance by specifying the appropriate mode option.

Examples

var removeFirst = require( '@stdlib/string/remove-first' );

var str = removeFirst( 'last man standing' );
// returns 'ast man standing'

str = removeFirst( 'presidential election' );
// returns 'residential election'

str = removeFirst( 'JavaScript' );
// returns 'avaScript'

str = removeFirst( 'Hidden Treasures' );
// returns 'idden Treasures'

str = removeFirst( 'The Last of the Mohicans', 4 );
// returns 'Last of the Mohicans'

str = removeFirst( '๐Ÿถ๐Ÿฎ๐Ÿท๐Ÿฐ๐Ÿธ', 2 );
// returns '๐Ÿท๐Ÿฐ๐Ÿธ'

str = removeFirst( '๐Ÿถ๐Ÿฎ๐Ÿท๐Ÿฐ๐Ÿธ', 10 );
// returns ''

CLI

Usage

Usage: remove-first [options] [<string>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --n                   Number of characters to remove. Default: 1.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.
         --mode mode           Type of character to return. Default: 'grapheme'.

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 $'beep\nboop' | remove-first --split /\r?\n/
    
    # Escaped...
    $ echo -n $'beep\nboop' | remove-first --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ remove-first beep
eep

To use as a standard stream,

$ echo -n 'beep\nboop' | remove-first --n=2
be
bo

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 'beep\tboop' | remove-first --split '\t'
eep
oop
Did you find this page helpful?