Как получить последние символы строки?
У меня есть переменная:
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?
В чем разница между String.slice и String.substring?
Проверка соответствия строки регулярному выражению в JS
Существует ли ссылка на "последнюю" библиотеку jQuery в Google APIs?
Как создать диалог с кнопками "Ок" и "Отмена"