Как получить последний символ строки:
"linto.yahoo.com."
Последний символ этой строки "."
Как я могу найти это?
Как получить последний символ строки:
"linto.yahoo.com."
Последний символ этой строки "."
Как я могу найти это?
Ответы:
Элегантная и короткая альтернатива, это String.prototype.slice
метод.
Просто:
str.slice(-1);
Отрицательный начальный индекс разделяет строку от length+index
, до length
, будучи индексом -1
, извлекается последний символ:
"abc".slice(-1); // "c";
slice()
метод. - Их функциональные возможности концептуально схожи (частичные копии) -------- (на всякий случай, если вы читаете код и видите .slice()
)
str.slice(-1)
действительно получить последний символ строки (в соответствии с требованиями ОП), так же , как если бы вы использовали str.charAt(str.length - 1)
, попробуйте: "abc".slice(-1)
. Я показывал здесь использование String.prototype.slice
с отрицательным индексом. str.slice(-n)
получит последние n
символы исходной строки в качестве нового строкового значения. Дополнительная информация: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Используйте charAt
:
Метод charAt () возвращает символ по указанному индексу в строке.
Вы можете использовать этот метод в сочетании со length
свойством строки, чтобы получить последний символ в этой строке.
Например:
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
str.charAt(str.length - 1)
Некоторые браузеры позволяют (как нестандартное расширение) сократить это до:
str[str.length - 1];
Вы можете достичь этого, используя разные способы, но с разной производительностью,
1. Используя скобки:
var str = "Test";
var lastLetter = str[str.length - 1];
Но не рекомендуется использовать скобки. Проверьте причины здесь
2. charAt [index]:
var lastLetter = str.charAt(str.length - 1)
Это читабельно и быстро среди других. Это наиболее рекомендуемый способ.
3. подстрока:
str.substring(str.length - 1);
4. ломтик:
str.slice(-1);
Это немного быстрее, чем подстрока.
Вы можете проверить производительность здесь
С ES6:
Ты можешь использовать str.endsWith("t");
Но это не поддерживается в IE. Проверьте более подробную информацию о концах здесь
str.slice(-1);
endsWith
здесь вписывается, это делает что-то совершенно другое.
Используйте substr с параметром -1 :
"Linto.yahoo.com." ЗиЬзЬги (-1).
равно "."
Замечания:
Чтобы извлечь символы из конца строки, используйте отрицательный начальный номер (это не работает в IE 8 и более ранних версиях).
Простой способ сделать это с помощью этого :)
var word = "waffle"
word.endsWith("e")
Вы можете получить последний символ следующим образом:
var lastChar=yourString.charAt(yourString.length-1);
Используйте функцию JavaScript charAt, чтобы получить символ в заданной 0-индексированной позиции. Используйте длину, чтобы узнать, какова длина строки. Вы хотите, чтобы последний символ был длиной - 1. Пример:
var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];
Вы можете использовать этот простой метод ES6
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
Это будет работать во всех браузерах.