javascript – how to get the last character of a string?

The Question :

572 people think this question is useful

How to get the last character of the string:

"linto.yahoo.com."



The last character of this string is "."

How can I find this?

• could you accept this answer, since it is the best one and should be displayed first.

1081 people think this answer is useful

An elegant and short alternative, is the String.prototype.slice method.

Just by:

str.slice(-1);



A negative start index slices the string from length+index, to length, being index -1, the last character is extracted:

"abc".slice(-1); // "c";



107 people think this answer is useful

Use charAt:

The charAt() method returns the character at the specified index in a string.

You can use this method in conjunction with the length property of a string to get the last character in that string.
For example:

const myString = "linto.yahoo.com.";
const stringLength = myString.length; // this will be 16
console.log('lastChar: ', myString.charAt(stringLength - 1)); // this will be the string


73 people think this answer is useful
str.charAt(str.length - 1)



Some browsers allow (as a non-standard extension) you to shorten this to:

str[str.length - 1];



60 people think this answer is useful

You can achieve this using different ways but with different performance,

1. Using bracket notation:

var str = "Test"; var lastLetter = str[str.length - 1];

But it’s not recommended to use brackets. Check the reasons here

2. charAt[index]:

var lastLetter = str.charAt(str.length - 1)

This is readable and fastest among others. It is most recommended way.

3. substring:

str.substring(str.length - 1);

4. slice:

str.slice(-1);

It’s slightly faster than substring.

You can check the performance here

With ES6:

You can use str.endsWith("t");

But it is not supported in IE. Check more details about endsWith here

39 people think this answer is useful

Use substr with parameter -1:

“linto.yahoo.com.”.substr(-1);

equals “.”

Note:

To extract characters from the end of the string, use a negative start number (This does not work in IE 8 and earlier).

14 people think this answer is useful

An easy way of doing it is using this 🙂

var word = "waffle"
word.endsWith("e")



7 people think this answer is useful

You can get the last char like this :

var lastChar=yourString.charAt(yourString.length-1);



4 people think this answer is useful

Use the JavaScript charAt function to get a character at a given 0-indexed position. Use length to find out how long the String is. You want the last character so that’s length – 1. Example:

var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);



4 people think this answer is useful
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];



3 people think this answer is useful

Try this…

const str = "linto.yahoo.com."
console.log(str.charAt(str.length-1));



2 people think this answer is useful

You can use the following. In this case of last character it’s an overkill but for a substring, its useful:

var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)



const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];