first
Return the first character(s) of a string.
Usage
var first = require( '@stdlib/string/first' );
first( str[, n][, options] )
Returns the first character(s) of a string.
var out = first( 'last man standing' );
// returns 'l'
out = first( 'Hidden Treasures' );
// returns 'H'
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 = first( 'foo bar', 5 );
// returns 'foo b'
out = first( 'foo bar', 10 );
// returns 'foo bar'
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 first = require( '@stdlib/string/first' );
var str = first( 'last man standing' );
// returns 'l'
str = first( 'presidential election' );
// returns 'p'
str = first( 'javaScript' );
// returns 'j'
str = first( 'Hidden Treasures' );
// returns 'H'
str = first( 'The Last of the Mohicans', 5 );
// returns 'The L'
str = first( '๐ถ๐ฎ๐ท๐ฐ๐ธ', 2 );
// returns '๐ถ๐ฎ'
str = first( '๐ถ๐ฎ๐ท๐ฐ๐ธ', 10 );
// returns '๐ถ๐ฎ๐ท๐ฐ๐ธ'
CLI
Usage
Usage: first [options] [<string>]
Options:
-h, --help Print this message.
-V, --version Print the package version.
--n num Number of characters to return. 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' | first --split /\r?\n/ # Escaped... $ echo -n $'beep\nboop' | first --split /\\r?\\n/
The implementation ignores trailing delimiters.
Examples
$ first beep
b
To use as a standard stream,
$ echo -n 'beep\nboop' | 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' | first --split '\t'
b
b