endsWith
Test if a string ends with the characters of another string.
Usage
var endsWith = require( '@stdlib/string/base/ends-with' );
endsWith( str, search, len )
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?', str.length );
// returns true
bool = endsWith( str, 'Boy?', str.length );
// returns false
To search from a specific character position, 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 to 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 true
If provided an empty search
string, the function always returns true
.
var str = 'beep boop';
var bool = endsWith( str, '' );
// returns true
Notes
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.endsWith
in the following ways:- The function assumes string values for the first and second arguments and assumes that the
len
argument is an integer value. - The function does not clamp positive
len
values to the end of the input string. - Except when provided an empty
search
string, the function always returnsfalse
iflen
resolves to a starting search position which exceeds the bounds of the input string.
- The function assumes string values for the first and second arguments and assumes that the
Examples
var endsWith = require( '@stdlib/string/base/ends-with' );
var str = 'Fair is foul, and foul is fair, hover through fog and filthy air';
var bool = endsWith( str, 'air', str.length );
// returns true
bool = endsWith( str, 'fair', str.length );
// returns false
bool = endsWith( str, 'fair', 30 );
// returns true
bool = endsWith( str, 'fair', -34 );
// returns true