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

IT技术 javascript
2021-02-05 13:37:02

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

"linto.yahoo.com."

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

我怎样才能找到这个?

6个回答

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

只是通过:

str.slice(-1);

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

"abc".slice(-1); // "c";
@Egg,似乎您没有尝试我的示例,str.slice(-1)确实获得了字符串的最后一个字符(如 OP 所需),就像您使用str.charAt(str.length - 1), try: 一样"abc".slice(-1)我在这里展示String.prototype.slice了负索引的用法str.slice(-n)将获取n原始字符串的最后一个字符作为新的字符串值。更多信息:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
2021-03-18 13:37:02
@CMS你是对的,你的方法实际上没有修剪它就抓取了字符串的最后一个字符。优雅的方法也不错。出于某种原因,我认为它会修剪这些字符并返回修剪过的字符串。对不起,我觉得自己没有先尝试是个白痴。
2021-03-21 13:37:02
这段代码可能很短而且“性感”,但我不会使用它。该代码不是自解释的,也不清楚。请改用 charAt。
2021-03-23 13:37:02
旁注:数组也有一个slice()方法。- 它们的功能在概念上是相似的(部分副本)--------(以防万一您正在阅读代码并查看.slice()
2021-03-25 13:37:02
“UTF-8 字符串”是什么意思?这句话毫无意义。尽管如此,JavaScript 字符串本身就是一个有趣的野兽:它们是无符号 16 位整数值的序列。如果您的字符串的目的是存储字符,那么上面的代码将返回最后一个 16 位值,如果它是代理对的第二部分,这将不会很漂亮。但同样,“UTF-8 字符串”究竟是什么意思?UTF-8 是一种编码方案,如果您有一个字节数组,它可能会有意义,但在涉及字符串时则毫无意义。只是好奇。
2021-04-04 13:37:02

使用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

str.charAt(str.length - 1)

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

str[str.length - 1];
过时的答案。使用括号表示法不是非标准扩展。
2021-03-28 13:37:02

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

1. 使用括号表示法:

var str = "Test"; var lastLetter = str[str.length - 1];

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

2.charAt[索引]:

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

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

3.子串:

str.substring(str.length - 1);

4.切片:

str.slice(-1);

它比子字符串略快。

您可以在此处查看性能

使用 ES6:

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

但它在 IE 中不受支持。在此处查看有关endsWith的更多详细信息

无需在当前机器上进行性能压缩。使用最简洁的解决方案。我的投票正在进行中str.slice(-1);
2021-03-26 13:37:02
我不确定endsWith这里的适合程度,这完全不同。
2021-04-11 13:37:02

substr与参数-1一起使用

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

等于 ”。”

笔记:

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

似乎这个和 slice() 一样短,我想知道哪个更好更快。
2021-03-30 13:37:02
substr 是一个遗留功能,在 Web 浏览器之外是可选的。切片更好。
2021-04-09 13:37:02