Javascript получить последние символы строки

Как получить последний символ строки?

Элегантная и короткая альтернатива, это String.prototype.slice метод.

Отрицательный начальный индекс разрезает строку из length+index , чтобы length , будучи индексом -1 , последний символ извлекается:

Метод charAt() возвращает символ по указанному индексу в строке.

Вы можете использовать этот метод в сочетании с length свойство строки, чтобы получить последний символ в этой строке.
Например:

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

Вы можете достичь этого, используя разные способы, но с разной производительностью,

1. Используя скобки:

var str = «Test»; var lastLetter = str[str.length — 1];

Но не рекомендуется использовать скобки. Проверьте причины здесь

2. charAt[index]:

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

Это читабельно и быстро среди других. Это наиболее рекомендуемый способ.

3. подстрока:

Это немного быстрее, чем подстрока.

Вы можете проверить производительность здесь

Некоторые браузеры позволяют (как нестандартное расширение) сократить это до:

Используйте substr с параметром -1:

Чтобы извлечь символы из конца строки, используйте отрицательный начальный номер (это не работает в IE 8 и более ранних версиях).

С использованием String.prototype.at() метод — это новый способ добиться этого

Простой способ сделать это с помощью этого:)

var word = "waffle" word.endsWith("e") 
>Try this. console.log("linto.yahoo.com.".charAt("linto.yahoo.com.".length-1)); 

Вы можете получить последний символ следующим образом:

var lastChar=yourString.charAt(yourString.length-1); 
var firstName = "Ada"; var lastLetterOfFirstName = firstName[firstName.length - 1]; 

Используйте функцию JavaScript charAt, чтобы получить символ в указанной позиции с 0 индексами. Используйте длину, чтобы узнать, какова длина строки. Вы хотите, чтобы последний символ был длиной — 1. Пример:

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

Если у вас есть или уже используется lodash, используйте last :

Он не только лаконичнее и очевиднее, чем ванильный JS, но и более безопасен, так как избегает Uncaught TypeError: Cannot read property X of undefined когда вход null или же undefined так что вам не нужно заранее это проверять:

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

Вы можете использовать следующее. В этом случае последний символ — это перебор, но для подстроки это полезно:

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

Вы также можете преобразовать строку в массив и получить последний элемент,

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

вот как удалить последний символ строки

Источник

Строковые методы JS

В JavaScript любые текстовые данные являются строками. Не существует отдельного типа «символ», который есть в ряде других языков.

Кавычки#

В JavaScript есть разные типы кавычек.

Строку можно создать с помощью одинарных, двойных либо обратных кавычек:

Одинарные и двойные кавычки работают, по сути, одинаково, а если использовать обратные кавычки, то в такую строку мы сможем вставлять произвольные выражения, обернув их в $:

Ещё одно преимущество обратных кавычек — они могут занимать более одной строки, вот так:

Выглядит вполне естественно, не правда ли? Что тут такого? Но если попытаться использовать точно так же одинарные или двойные кавычки, то будет ошибка:

Одинарные и двойные кавычки в языке с незапамятных времён: тогда потребность в многострочных строках не учитывалась. Что касается обратных кавычек, они появились существенно позже, и поэтому они гибче.

Обратные кавычки также позволяют задавать «шаблонную функцию» перед первой обратной кавычкой. Используемый синтаксис: func string . Автоматически вызываемая функция func получает строку и встроенные в неё выражения и может их обработать. Если перед строкой есть выражение, то шаблонная строка называется «теговым шаблоном». Это позволяет использовать свою шаблонизацию для строк, но на практике теговые шаблоны применяются редко.

Спецсимволы#

Многострочные строки также можно создавать с помощью одинарных и двойных кавычек, используя так называемый «символ перевода строки», который записывается как \n:

Источник

как получить последний символ строки?

Элегантная и короткая альтернатива — это String.prototype.slice .

Отрицательный индекс начала разбивает строку с length+index , на length , будучи индексом -1 , последний символ извлекается:

Примечание: у массивов также есть метод slice() . — Их функциональные возможности концептуально аналогичны (частичные копии) ——— (на всякий случай, если вы читаете код и видите .slice() )

Что вы подразумеваете под «строкой UTF-8»? Фраза не имеет смысла. Впрочем, строки JavaScript сами по себе — забавные звери: они представляют собой последовательности беззнаковых 16-битных целочисленных значений. Если ваша строка предназначена для хранения символов, то приведенный выше код возвращает последнее 16-битное значение, что было бы не красиво, если бы это была вторая часть суррогатной пары. Но опять же, что именно вы подразумеваете под «строкой UTF-8»? UTF-8 — это схема кодирования, которая может иметь смысл, если у вас есть байтовый массив, но ничего не значит, когда дело касается строк. Просто любопытно.

Проголосовал, потому что это не отвечает на вопрос. Предполагается, что пользователь хочет просто удалить символ, но что, если вам нужно захватить последний символ и ответить на основании того, что это такое? Ответы str.charAt () являются правильными.

@Egg, кажется, вы не пробовали мой пример, str.slice(-1) действительно получает последний символ строки (как требуется для OP), так же, как если бы вы использовали str.charAt(str.length — 1) , попробуйте: «abc».slice(-1) . Я показывал здесь использование String.prototype.slice с отрицательным индексом. str.slice(-n) получит последние n символов исходной строки в качестве нового строкового значения. Дополнительная информация: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

@CMS Вы правы, ваш метод действительно захватывает последний символ строки, не обрезая его. Хороший элегантный метод тоже. По некоторым причинам я думал, что это собиралось урезать те символы и вернуть урезанную последовательность. Извините за это, я чувствую себя идиотом за то, что не попробовал это первым.

Ну и как мне получить позицию лазера? «abc » Теперь мне нужно получить 4 (в конце есть пробел). Как я могу это сделать?

Этот код может быть коротким и «сексуальным», но я не буду его использовать. Код не требует пояснений и не понятен. Используйте вместо этого charAt.

@stack Позиция (считая от 1) последнего символа должна быть длиной строки, в основном .length Я не уверен, как она обрабатывает суррогатные пары.

Источник

Читайте также:  Таблицы
Оцените статью