Как получить последние символы строки?
У меня есть переменная:
var id = "ctl03_Tabs1";
Как с помощью JavaScript можно получить последние пять символов или последний символ этой строки?
5 ответ(ов)
ИЗМЕНЕНИЕ: Как отмечали другие, используйте slice(-5) вместо substr. Однако внизу этого ответа вы найдете решение с использованием .split().pop(), которое представляет собой другой подход.
Исходный ответ:
Вы можете использовать метод строки JavaScript .substr(), комбинируя его с свойством .length.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Этот код получает символы, начиная с id.length - 5, и поскольку второй аргумент для .substr() опущен, выборка продолжается до конца строки.
Также, как отмечают другие, вы можете использовать метод .slice().
Если ваша задача заключается в том, чтобы найти символы после подчеркивания, вы можете использовать следующий код:
var tabId = id.split("_").pop(); // => "Tabs1"
Этот код разбивает строку на массив по символу подчеркивания и затем "извлекает" последний элемент массива (что и является нужной строкой).
Следующий скрипт показывает, как получить последние 5 и последний 1 символ в строке с помощью JavaScript:
var testword = 'ctl03_Tabs1';
var last5 = testword.substr(-5); // Получаем 5 символов
var last1 = testword.substr(-1); // Получаем 1 символ
Вывод:
Tabs1 // Получили 5 символов
1 // Получили 1 символ
Метод substr позволяет извлекать подстроки из заданной строки, при этом отрицательные значения указывают на смещение от конца строки. В примере выше -5 берёт последние 5 символов, а -1 — последний символ.
В вашем коде используется метод slice для извлечения подстрок из строки r.
При вызове
r.slice(-4)вы получаете последние 4 символа строки. В вашем случае строкаrравна'6176958e92d42422203a3c58', и последние 4 символа — это'3c58'.При вызове
r.slice(-1)вы получаете последний символ строки. Здесь последний символ строкиr— это'8'.
Таким образом, результаты выполнения ваших команд:
r.slice(-4)возвращает'3c58'.r.slice(-1)возвращает'8'.
Один из способов — использовать метод slice, как показано ниже:
var id = "ctl03_Tabs1";
var temp = id.slice(-5);
В данном случае значение переменной temp будет равно "Tabs1".
Функция substr позволяет использовать отрицательное значение, чтобы получить последний символ строки.
var string = "hello";
var last = string.substr(-1);
Это очень гибкий подход. Например:
// Получить 2 символа, начиная с 1 символа от конца
// Первая часть указывает, на сколько символов
// нужно отступить, а вторая — сколько
// символов нужно взять. Если не указать, сколько
// символов нужно взять, то будет включено всё
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
Таким образом, вы можете легко манипулировать строками и извлекать нужные символы, используя отрицательные индексы.
Где найти документацию по форматированию даты в JavaScript?
Как определить нажатие клавиши Esc?
Как проверить, содержит ли массив строку в TypeScript?
Ссылка и выполнение внешнего JavaScript-файла, размещенного на GitHub
Как остановить Babel от трансформации 'this' в 'undefined' и добавления "use strict"