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

У меня

var id="ctl03_Tabs1";

Использование JavaScript, как я могу получить последние пять символов или последний символ?

Ответ 1

ОБНОВЛЕНИЕ: Как уже отмечали другие, используйте 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"

Это разбивает строку на массив в нижнем подчеркивании, а затем "выталкивает" последний элемент из массива (это строка, которую вы хотите).

Ответ 3

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

var lastChar = id[id.length - 1];

Чтобы получить фрагмент строки, вы можете использовать функцию substr или функцию подстроки :

id.substr(id.length - 1); //get the last character
id.substr(2);             //get the characters from the 3rd character on
id.substr(2, 1);          //get the 3rd character
id.substr(2, 2);          //get the 3rd and 4th characters

Разница между substr и substring заключается в том, как обрабатывается второй (необязательный) параметр. В substr это количество символов из индекса (первый параметр). В substring это индекс того, где должна заканчиваться нарезка символов.

Ответ 4

Вы можете использовать метод substr() с отрицательной исходной позицией для извлечения последних n символов. Например, это получает последние 5:

var lastFiveChars = id.substr(-5);

Ответ 5

После script показан результат для получения последних 5 символов и последнего 1 символа в строке с использованием JavaScript:

var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character

Выход:

Tabs1//Получает 5 символов

1//Получен 1 символ

Ответ 6

Ознакомьтесь с функцией подстроки.

Чтобы получить последний символ:

id.substring(id.length - 1, id.length);

Ответ 7

Нет необходимости использовать метод substr для получения единственного char строки!

на примере Jamon Holmgren мы можем изменить метод substr и просто указать положение массива:

var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"

Ответ 8

Предполагая, что вы сравните подстроку с концом другой строки и используете результат как логическое, вы можете расширить класс String, чтобы выполнить это:

String.prototype.endsWith = function (substring) {
  if(substring.length > this.length) return false;
  return this.substr(this.length - substring.length) === substring;
};

Позволяет вам выполнить следующее:

var aSentenceToPonder = "This sentence ends with toad"; 
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true

Ответ 9

Если вы просто хотите, чтобы последний символ или какой-либо символ находились в известной позиции, вы можете просто передать строку в виде массива! - строки итерации в javascript -

Var x = "hello_world";
 x[0];                    //h
 x[x.length-1];   //d

Однако, если вам нужно больше, чем один символ, используйте эффективную комбинацию

x.slice(-5);      //world

Что касается вашего примера

"rating_element-<?php echo $id?>"

Чтобы извлечь идентификатор, вы можете легко использовать split + pop

Id= inputId.split('rating_element-')[1];

Это вернет идентификатор или undefined, если после "rating_element" идентификатор не был указан, :)

Ответ 10

Одним из способов было бы использовать slice, например:

var id="ctl03_Tabs1";
var temp=id.slice(-5);

поэтому значение temp будет "Tabs1".

Ответ 11

Этот будет удалять запятую, если это последний символ в строке.

var str = $("#ControlId").val();

if(str.substring(str.length-1)==',') {

  var stringWithoutLastComma = str.substring(0,str.length-1);    

}

Ответ 12

У меня на самом деле есть следующая проблема, и это, как я решил ее с помощью вышеупомянутого ответа, но другой подход при извлечении идентификатора формирует входной элемент.

Я добавил входной файл с

id="rating_element-<?php echo $id?>"

И, когда эта кнопка нажата, я хочу извлечь идентификатор (который является номером) или только идентификатор php ($ id).

Итак, вот что я делаю.

 $('.rating').on('rating.change', function() {
            alert($(this).val());
           // console.log(this.id);
           var static_id_text=("rating_element-").length;       
           var product_id =  this.id.slice(static_id_text);       //get the length in order to deduct from the whole string    
          console.log(product_id );//outputs the last id appended
        });

Ответ 13

var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);

Я нашел этот вопрос, и в ходе некоторых исследований я обнаружил, что это самый простой способ получить последнего персонажа.

Как уже упоминалось и добавлено для полноты, чтобы получить последние 5:

var last5 = id.substr(-5);

Ответ 14

Функция Substr позволяет использовать минус для получения последнего символа.

var string = "hello";
var last = string.substr(-1);

Это очень гибкий. Например:

// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"

Ответ 15

Последние 5

var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);

Ответ 16

Я уверен, что это будет работать....

var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)

Значение extension будет ".pdf"