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


How to get the last character of the string:


The last character of this string is "."

How can I find this?

  • Translate

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

    Just by:


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

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

  • Translate

    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:

    var myString = "";
    var stringLength = myString.length; // this will be 16
    var lastChar = myString.charAt(stringLength - 1); // this will be the string "."

  • Translate
    str.charAt(str.length - 1)

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

    str[str.length - 1];

  • Translate

    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:


    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

  • Translate

    Use substr with parameter -1:


    equals "."


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

  • Translate

    An easy way of doing it is using this :)

    var word = "waffle"

  • Translate

    You can get the last char like this :

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

  • Translate

    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 = "";
    var last = word.charAt(word.length - 1);
    alert('The last character is:' + last);

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

  • Translate

    You can use this simple ES6 method

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

  • Translate
    >Try this...     

  • Translate

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

    var word = "";
    var last = ".com.";
    if (word.substr(-(last.length)) == last)
    alert("its a match");

  • Translate

    You can also convert string to array and get the last item,

    var str = "Hello world!"; 
    var arr = str.split('');
    var lastItem = arr[arr.length - 1];