codePointAt
Return a Unicode code point from a string at a specified position.
Usage
var codePointAt = require( '@stdlib/string/code-point-at' );
codePointAt( string, position[, backward] )
Returns a Unicode code point from a string at a specified position.
var out = codePointAt( 'last man standing', 4 );
// returns 32
The function supports providing a backward
argument for performing backward iteration for low surrogates.
var out = codePointAt( '๐ท', 1, true );
// returns 127799
The function supports providing a negative position
.
var out = codePointAt( 'last man standing', -13 );
// returns 32
Notes
This function differs from String.prototype.codePointAt
in the following ways:
- The function supports providing a negative
position
. If provided a negativeposition
, the function determines the string position relative to the end of the string. - The function supports providing a
backward
argument for performing backward iteration for low surrogates.String.prototype.codePointAt
simply returns the low surrogate value if no UTF-16 surrogate pair begins at the specified position. If invoked withbackward
set totrue
, this function will return the code point after aggregating with the preceding high surrogate, if the specified position does not mark the start of a surrogate pair. - The function raises an exception if provided a
position
which exceeds the bounds of the input string.
Examples
var codePointAt = require( '@stdlib/string/code-point-at' );
var v = codePointAt( 'last man standing', 4 );
// returns 32
v = codePointAt( 'presidential election', 8, true );
// returns 116
v = codePointAt( 'เค
เคจเฅเคเฅเคเฅเคฆ', 2 );
// returns 2369
v = codePointAt( '๐ท', 1, true );
// returns 127799
CLI
Usage
Usage: code-point-at [options] --pos=<index> [<string>]
Options:
-h, --help Print this message.
-V, --version Print the package version.
-b, --backward Backward iteration for low surrogates.
--pos index Position in string.
Examples
$ code-point-at --pos=2 เค
เคจเฅเคเฅเคเฅเคฆ
2369
To use as a standard stream,
$ echo -n 'เค
เคจเฅเคเฅเคเฅเคฆ' | code-point-at --pos=2
2369