如何从字符串的末尾开始获取字母索引?
我可以检查一个字符串包含字母使用.indexOf()的:如何从字符串的末尾开始获取字母索引?
my_string = 'sdf sdfdsf dfdsdfs';
console.log(my_string.indexOf(' '));
// returns 4
是存在的方法做同样但从年底开始? (例如上面必须返回11 - 从右侧的第一个空格至左)
使用lastIndexOf
。
my_string = 'sdf sdfdsf dfdsdfs';
console.log(my_string.lastIndexOf(' '));
为什么http://stackoverflow.com/questions/18893402/javascript-indexof-from-end-of-search-string中的最佳答案是如果lastIndexOf存在时定义新方法? – AlexAstanin 2014-10-27 12:57:32
这是一种不同的用法,他们希望得到搜索结束的索引,而不是开始。 – Scimonster 2014-10-27 12:59:15
感谢您的帮助,Scimonster。 – AlexAstanin 2014-10-27 13:00:21
反向您的字符串,并执行indexOf()
:
reverseString = my_string.split("").reverse().join("");
console.log(my_string.length - reverseString.indexOf(' '));
你可以试试这个
console.log(my_string.lastIndexOf(" "));
@James Nope,不同的问题。 – Scimonster 2014-10-27 12:39:15
'console.log(my_string.indexOf(''));'用你的输入返回3,而不是4.我不知道你如何期待“11”;从右到左的第一个空白处在第九位? – Matt 2014-10-27 12:43:08
@ user3775292,从右到左的第一个空格是从l到r的第11个位置,并且是从l到r的索引10 – 2014-10-27 12:45:29