How to get the last character of a string?

Javascript

Javascript Problem Overview


How to get the last character of the string:

"linto.yahoo.com."

The last character of this string is "."

How can I find this?

Javascript Solutions


Solution 1 - Javascript

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";

Solution 2 - Javascript

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

Solution 3 - Javascript

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

Solution 4 - Javascript

str.charAt(str.length - 1)

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

str[str.length - 1];

Solution 5 - Javascript

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).

Solution 6 - Javascript

An easy way of doing it is using this :)

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

Solution 7 - Javascript

Try this...

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

Solution 8 - Javascript

You can get the last char like this :

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

Solution 9 - Javascript

var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];

Solution 10 - Javascript

Using the String.prototype.at() method is a new way to achieve it

const s = "linto.yahoo.com.";
const last = s.at(-1);

console.log(last);

Read more about at here

Solution 11 - Javascript

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);

Solution 12 - Javascript

If you have or are already using lodash, use last instead:

_.last(str);

Not only is it more concise and obvious than the vanilla JS, it also safer since it avoids Uncaught TypeError: Cannot read property X of undefined when the input is null or undefined so you don't need to check this beforehand:

// Will throws Uncaught TypeError if str is null or undefined
str.slice(-1); // 
str.charAt(str.length -1);

// Returns undefined when str is null or undefined
_.last(str);

Solution 13 - Javascript

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)
alert("its a match");

Solution 14 - Javascript

var string = "Hello";
var fg = string.length;
fg = fg - 1;
alert(string[fg]);

Solution 15 - Javascript

You can use this simple ES6 method

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


// example
console.log(lastChar("linto.yahoo.com."));

This will work in every browsers.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLinto P DView Question on Stackoverflow
Solution 1 - JavascriptChristian C. SalvadóView Answer on Stackoverflow
Solution 2 - JavascriptDonutView Answer on Stackoverflow
Solution 3 - JavascriptVikas YadavView Answer on Stackoverflow
Solution 4 - JavascriptMatthew FlaschenView Answer on Stackoverflow
Solution 5 - JavascriptSpikolynnView Answer on Stackoverflow
Solution 6 - JavascriptConnieView Answer on Stackoverflow
Solution 7 - JavascriptVishal KumarView Answer on Stackoverflow
Solution 8 - JavascriptColin HebertView Answer on Stackoverflow
Solution 9 - JavascriptSalarView Answer on Stackoverflow
Solution 10 - JavascriptRan TurnerView Answer on Stackoverflow
Solution 11 - JavascriptAdamView Answer on Stackoverflow
Solution 12 - JavascriptxlmView Answer on Stackoverflow
Solution 13 - JavascriptGauravsaView Answer on Stackoverflow
Solution 14 - Javascriptshamant saiView Answer on Stackoverflow
Solution 15 - JavascriptvdegenneView Answer on Stackoverflow