如何获取字符串的最后一个字符?

如何获取字符串的最后一个字符:

"linto.yahoo.com."

此字符串的最后一个字符是"."

我怎么才能找到这个?

761680 次浏览
str.charAt(str.length - 1)

一些浏览器允许(作为非标准扩展)您将其缩短为:

str[str.length - 1];

你可以像这样得到最后一个char:

var lastChar=yourString.charAt(yourString.length-1);

使用charAt

charAt()方法返回字符串中指定索引处的字符。

您可以将此方法与字符串的length属性结合使用,以获取该字符串中的最后一个字符。
例如:

const myString = "linto.yahoo.com.";
const stringLength = myString.length; // this will be 16
console.log('lastChar: ', myString.charAt(stringLength - 1)); // this will be the string

使用JavaScript字符函数获取给定0索引位置的字符。使用长度找出字符串的长度。您需要最后一个字符,因此长度为-1。 示例:

var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);

一个优雅而简短的替代方案是String.prototype.slice方法。

只是通过:

str.slice(-1);

负起始索引将字符串从length+index切片到length,索引为-1,提取最后一个字符:

"abc".slice(-1); // "c";

使用substr和参数-1

"linto.yahoo.com.". substr(-1);

等于“。

备注:

要从字符串末尾提取字符,请使用负起始号(这在IE 8及更早版本中不起作用)。

var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];

您可以使用不同的方式实现这一点,但性能不同,

1.使用括号表示法:

var str="测试";

但不建议使用括号。检查原因这里

2. charAt[索引]:

var lastLetter = str.charAt(str.length - 1)

这是可读性和最快的。这是最推荐的方式。

3.子串:

str.substring(str.length - 1);

4.切片:

str.slice(-1);

它比substring稍微快一点。

您可以查看性能这里

使用ES6:

您可以使用str.endsWith("t");

但IE中不支持。查看有关endsWith这里的更多详细信息

试试这个…

const str = "linto.yahoo.com."
console.log(str.charAt(str.length-1));

您可以使用以下内容。在最后一个字符的情况下,它是一个过度杀戮,但对于子字符串,它很有用:

var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)
alert("its a match");

一个简单的方法是使用这个:)

var word = "waffle"
word.endsWith("e")

您可以使用这个简单的ES6方法

const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];




// example
console.log(lastChar("linto.yahoo.com."));

这将适用于所有浏览器。

如果您已经或正在使用Lodash,请使用最后

_.last(str);

它不仅比vanilla JS更简洁、更明显,而且更安全,因为当输入是nullundefined时,它避免了Uncaught TypeError: Cannot read property X of undefined,所以你不需要事先检查:

// Will throw Uncaught TypeError if str is null or undefined
str.slice(-1);
str.charAt(str.length -1);


// Returns undefined when str is null or undefined
_.last(str);

var string = "Hello";
var fg = string.length;
fg = fg - 1;
alert(string[fg]);

使用String.prototype.at()方法是实现它的新方法

const s = "linto.yahoo.com.";
const last = s.at(-1);


console.log(last);

阅读更多关于at这里