如何选择字符串的最后两个字符

How to select last two characters of a string

本文关键字:两个 字符 最后 字符串 何选择 选择      更新时间:2023-09-26

我需要从变量中选择最后两个字符,无论是数字还是字母。

例如:

var member = "my name is Mate";

我想在 member 变量中显示字符串的最后两个字母。

您可以将负索引传递给.slice() 。这将指示从集合末尾的偏移量。

var member = "my name is Mate";
var last2 = member.slice(-2);
alert(last2); // "te"

编辑:2020:像其他人所说的那样使用string.slice(-2) - 见下文。

现在 2016 只是 string.substr(-2) 应该可以解决问题(不是子字符串(!

取自 MDN

语法

str.substr(start[, length])

参数

开始

开始提取字符的位置。如果给出负数,则将其视为 strLength + start,其中 strLength 为 字符串的长度(例如,如果 start 为 -3,则视为 长度 - 3.)长度 自选。要提取的字符数。

编辑 2020

MDN 说

警告:虽然 String.prototype.substr(...) 不是严格意义上的 已弃用(如"从 Web 标准中删除"),它被认为是 遗留函数,应尽可能避免使用。它不是部分 的核心 JavaScript 语言,将来可能会被删除。

试试这个,请注意,您不需要在 substring 中指定结束索引。

var characters = member.substr(member.length -2);

以下示例使用带有负索引的slice()

var str = 'my name is maanu.';
console.log(str.slice(-3));     // returns 'nu.' last two
console.log(str.slice(3, -7)); // returns 'name is'
console.log(str.slice(0, -1));  // returns 'my name is maanu'

你可以

试试

member.substr(member.length-2);

如果它是一个整数,你需要一部分...。

var result = number.toString().slice(-2);

你应该使用子字符串,而不是jQuery来做到这一点。

尝试这样的事情:

member.substring(member.length - 2, member.length)

W3学校(不是官方的,但偶尔有帮助):http://www.w3schools.com/jsref/jsref_substring.asp

根据评论者的要求添加MDN链接:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring

var member = "my name is maanu";

var answer=member.substring(0,member.length - 2);

alert(answer);

最短:

str.slice(-2)

例:

const str = "test";
const last2 = str.slice(-2);
console.log(last2);

Slice 可用于查找子字符串。当我们知道索引时,我们可以使用替代解决方案,例如索引加法器。两者的执行时间大致相同。

const primitiveStringMember = "my name is Mate";
const objectStringMember = new String("my name is Mate");
console.log(typeof primitiveStringMember);//string
console.log(typeof objectStringMember);//object

/* However when we use . operator to string primitive type, JS will wrap up the string with object. That's why we can use the methods String object type for the primitive type string.
*/
//Slice method
const t0 = performance.now();
slicedString = primitiveStringMember.slice(-2);//te
const t1 = performance.now();
console.log(`Call to do slice took ${t1 - t0} milliseconds.`);

//index vise adder method
const t2 = performance.now();
length = primitiveStringMember.length
neededString = primitiveStringMember[length-2]+primitiveStringMember[length-1];//te
const t3 = performance.now();
console.log(`Call to do index adder took ${t3 - t2} milliseconds.`);