Test if a string ends with the characters of another string.
var endsWith = require( '@stdlib/string/ends-with' );Tests if a string ends with the characters of another string.
var str = 'Remember the story I used to tell you when you were a boy?';
var bool = endsWith( str, 'boy?' );
// returns true
bool = endsWith( str, 'Boy?' );
// returns falseTo search for a match at the end of a substring, provide a len argument. If len is positive, the function restricts the search to a substring with length len, beginning with the leftmost character. If len is negative, len indicates to ignore the last len characters (equivalent of str.length + len).
var str = 'To be, or not to be, that is the question.';
var bool = endsWith( str, 'to be', 19 );
// returns true
bool = endsWith( str, 'to be', -23 );
// returns trueIf provided an empty search string, the function always returns true.
var str = 'beep boop';
var bool = endsWith( str, '' );
// returns true-
In general, exercise caution when operating on substrings containing Unicode characters, as the visual character length may not equal the number of code points. For example,
var len = '🏠'.length; // returns 2
-
This function differs from
String.prototype.endsWithin the following ways:- The function requires string values for the first and second arguments and requires that the
lenargument is an integer value. - The function does not clamp positive
lenvalues to the end of the input string. - Except when provided an empty
searchstring, the function always returnsfalseiflenresolves to a starting search position which exceeds the bounds of the input string.
- The function requires string values for the first and second arguments and requires that the
var endsWith = require( '@stdlib/string/ends-with' );
var str = 'Fair is foul, and foul is fair, hover through fog and filthy air';
var bool = endsWith( str, 'air' );
// returns true
bool = endsWith( str, 'fair' );
// returns false
bool = endsWith( str, 'fair', 30 );
// returns true
bool = endsWith( str, 'fair', -34 );
// returns trueUsage: ends-with [options] --search=<string> [<string>]
Options:
-h, --help Print this message.
-V, --version Print the package version.
--search string Search string.
--len int Substring length.
--split sep Delimiter for stdin data. Default: '/\\r?\\n/'.
-
If the split separator is a regular expression, ensure that the
splitoption is either properly escaped or enclosed in quotes.# Not escaped... $ echo -n $'Hello, World!\nBeep Boop Baz' | ends-with --search=Beep --split /\r?\n/ # Escaped... $ echo -n $'Hello, World!\nBeep Boop Baz' | ends-with --search=Beep --split /\\r?\\n/
-
The implementation ignores trailing delimiters.
$ ends-with --search=ep beep
trueTo use as a standard stream,
$ echo -n 'boop' | ends-with --search=ep
falseBy 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' | ends-with --search=Boop --split '\t'
false
true@stdlib/string/starts-with: test if a string starts with the characters of another string.