Последний символ строки в JavaScript
Давайте выведем последний символ строки. При этом сделаем так, чтобы наш скрипт сам определял номер последнего символа, не зависимо от длины строки.
Пусть у нас есть такая строка:
let str = ‘abcde’;
Как вы видите, количество символов в этой строке равно 5 . Если немного подумать, то становится очевидным, что номер последнего символа этой строки будет на 1 меньше ее длины, так как нумерация символов начинается с нуля.
Получается, что зная длину строки, мы можем отнять от нее 1 и получить номер последнего символа, а затем по этому номеру можно получить сам последний символ.
Как вы уже знаете, длину строки можно найти с помощью свойства length . Исходя из этого найдем номер последнего символа:
let str = ‘abcde’; let last = str.length — 1; // номер последнего символа
Используем найденный номер для вывода символа на экран:
let str = ‘abcde’; let last = str.length — 1; // номер последнего символа alert(str[last]); // выведет ‘e’
Промежуточную переменную last можно и не вводить:
let str = ‘abcde’; alert(str[str.length — 1]); // выведет ‘e’
Дана строка. Выведите на экран ее последний символ.
Дана строка. Выведите на экран ее предпоследний символ.
Дана строка. Выведите на экран ее предпредпоследний символ.
Последний символ в строке
- Диапазоны байтов пути перекрывают набор символов ASCII во многих случаях. Вы можете безопасно использовать байтовые проверки для любых символов элемента управления (менее 32).
- Рассмотрим следующую строку кода, которая может быть проверка, чтобы узнать, является ли последний символ в строке символом обратной косой черты:
if ( sz[ strlen( sz ) - 1 ] == '\\' ) // Is last character a '\'? // . . .
Так как strlen он не МБ CS, он возвращает количество байтов, а не количество символов в многобайтовой строке. Кроме того, обратите внимание, что на некоторых кодовых страницах (например, 932), ‘\’ (0x5c) является допустимым байтом следа ( sz является строкой C). Одним из возможных решений является перезапись кода следующим образом:
char *pLast; pLast = _mbsrchr( sz, '\\' ); // find last occurrence of '\' in sz if ( pLast && ( *_mbsinc( pLast ) == '\0' ) ) // . . .
Как получить последний символ из строки?
Чтобы не переводить типы туда обратно, используйте оператор взятия остатка от деления «%»:
var number = 161; var last = number % 10; console.log(last);
Отслеживать
ответ дан 21 июл 2017 в 11:38
5,057 17 17 серебряных знаков 27 27 бронзовых знаков
Что значит %, а если число будет 164837362??
21 июл 2017 в 15:12
Я же написал, оператор взятия остатка от деления. Что будет? Проверьте
23 июл 2017 в 9:50
Проще всю картинку разом показать:
function getNumEnding ( num, ends ) < if ( num % 100 >= 11 && num % 100 else < switch ( num % 10 ) < case ( 1 ): return ends [ 0 ]; case ( 2 ): case ( 3 ): case ( 4 ): return ends [ 1 ]; default: return ends [ 2 ]; >> >; . // варианты концовок var ends = [ 'стрип', 'стрипа', 'стрипов' ]; // поисковая регулярка по несклонявшейся фразе типа " 21 стрипов" var test = text.match ( / (\d+)[^\d]*(стрипов)/ ); // 1. 21. стрип, 2-4. 22-24. стрипа, 11-19. много стрипов text.innerHTML = text.innerHTML.replace ( test [ 2 ], getNumEnding ( test [ 1 ], ends ) );
Как получить последний символ в строке
Подскажите как удалить в переменной последний символ?
Переменная заполняется церез цикл, в конце цикла прибавляется «;» но при выводе в документ последний символ надо либо заменить на «.» либо просто удалить
переменная=стрзаменить(переменная,»;»,».»);
стр = Лев(стр, СтрДлина(стр)-1);
Спасибо сейчас попробую.
Пример моей строки:
г. Москва, «Компьютерные информационные системы», по вопросам развития локальной сети; г. Минск, «Патио», по вопросам развития бухгалтерии;
т.е. в строке встречается «;» и мне надо поменять или удалить только последний символ в строке.
Сниф спасибо за функцию ЛЕВ. То что нужно было.
а мне можно тоже одну ЛЕВ ?
с собой.
(2) но вот только если вдруг последним символом окажется ЗНАЧИЫМЙ символ то будет капец.
так что делаем так:
.
стр = СтрЗаменить(СокрЛП(СтрЗаменить(стр,»;»,РазделительСтрок)),РазделительСтрок,»;»);