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

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

例如:

var member = "my name is Mate";

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

348516 次浏览

你可以试试

member.substr(member.length-2);

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

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

您应该使用substring,而不是jQuery来完成此操作。

试试这样做:

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

W3Schools(不是官方的,但偶尔有用):http://www.w3schools.com/jsref/jsref_substring.asp

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

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

var member = "my name is Mate";


var last2 = member.slice(-2);


alert(last2); // "te"
var member = "my name is maanu";
< p > <代码> var = member.substring(0,成员回答。长度- 2); < /代码> < / p >
alert(answer);

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

现在2016年只要string.substr(-2)就可以了(不是子字符串(!))

取自MDN

语法

str.substr(start[, length])

参数

开始

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

编辑2020

MDN说

警告:虽然String.prototype.substr(… 已弃用(如“从Web标准中删除”),它被考虑 遗留函数,应该尽可能避免使用。它不是一部分

. JavaScript的核心语言,并可能在未来被删除

如果是整数,则需要....的一部分

var result = number.toString().slice(-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'

最短的:

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.`);