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

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

  • автор:

Последний символ строки в 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) но вот только если вдруг последним символом окажется ЗНАЧИЫМЙ символ то будет капец.
так что делаем так:
.
стр = СтрЗаменить(СокрЛП(СтрЗаменить(стр,»;»,РазделительСтрок)),РазделительСтрок,»;»);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *