如何获取字符串的最后一个字符:
"linto.yahoo.com."
此字符串的最后一个字符是"."
我怎样才能找到这个?
答案 0 :(得分:908)
优雅而简短的替代方法是String.prototype.slice
方法。
仅限:
str.slice(-1);
负起始索引将字符串从length+index
切换为length
,为索引-1
,提取最后一个字符:
"abc".slice(-1); // "c";
答案 1 :(得分:85)
使用charAt
:
charAt()方法返回字符串中指定索引处的字符。
您可以将此方法与字符串的length
属性结合使用,以获取该字符串中的最后一个字符。
例如:
var myString = "linto.yahoo.com.";
var stringLength = myString.length; // this will be 16
var lastChar = myString.charAt(stringLength - 1); // this will be the string "."
答案 2 :(得分:58)
str.charAt(str.length - 1)
有些浏览器允许(作为非标准扩展程序)将其缩短为:
str[str.length - 1];
答案 3 :(得分:36)
将substr与参数 -1 :
一起使用" linto.yahoo.com" .substr(-1);
等于"。"
注意:
要从字符串末尾提取字符,请使用负起始编号(这在IE 8及更早版本中不起作用。)
答案 4 :(得分:34)
您可以使用不同的方式实现这一目标,但性能不同,
<强> 1。使用括号表示法:
var str = "Test";
var lastLetter = str[str.length - 1];
但不建议使用括号。检查原因here
<强> 2。的charAt [指数]:强>
var lastLetter = str.charAt(str.length - 1)
这是可读的,也是最快的。这是最推荐的方式。
第3。子:强>
str.substring(str.length - 1);
<强> 4。片强>
str.slice(-1);
它比子串稍快。
您可以查看效果here
使用ES6:
您可以使用str.endsWith("t");
但IE不支持它。查看有关ends here
的更多详细信息答案 5 :(得分:13)
一种简单的方法是使用:)
var word = "waffle"
word.endsWith("e")
答案 6 :(得分:7)
你可以得到这样的最后一个字符:
var lastChar=yourString.charAt(yourString.length-1);
答案 7 :(得分:4)
使用JavaScript charAt函数获取给定0索引位置的字符。使用length查找String的长度。你想要最后一个字符,这样长度为1。 例如:
var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);
答案 8 :(得分:4)
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];
答案 9 :(得分:1)
您可以使用这种简单的ES6方法
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
这将在所有浏览器中使用。
答案 10 :(得分:1)
如果您已经或已经在使用 lodash,请改用 last:
<Button onClick={(e)=>(console.log(e)}>Click Me</Button>
它不仅比 vanilla JS 更简洁明了,而且更安全,因为它在输入为 _.last(str);
或 Uncaught TypeError: Cannot read property X of undefined
时避免了 null
,因此您无需检查事先:
undefined
答案 11 :(得分:0)
>Try this...
console.log("linto.yahoo.com.".charAt("linto.yahoo.com.".length-1));
答案 12 :(得分:0)
您可以使用以下内容。在最后一个字符的情况下,这是一个过大的杀伤力,但对于子字符串,它很有用:
var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)
alert("its a match");
答案 13 :(得分:0)
您还可以将字符串转换为数组并获取最后一项,
var str = "Hello world!";
var arr = str.split('');
var lastItem = arr[arr.length - 1];