如何从字符串的结尾开始计算indexof()

时间:2014-10-15 02:58:00

标签: javascript indexof

如果我有字符串:" 354-567-3425 | John Doe"如何在" |"之后找到多少个字符?符号?我用Google搜索,我发现的所有内容都是javascript indexOf()方法。如果我试图在" |"之前找到符号的数量,那会有效,但如果你知道我的意思,我不确定如何运行indexOf()向后计数。我确定这是一个简单的解决方案。非常感谢任何帮助。

6 个答案:

答案 0 :(得分:3)

跟贝拉说话一样

var str = '354-567-3425 | John Doe';
var indexFromLast = str.length - str.indexOf('|');

indexFromLast的索引来自字符串的结尾。

答案 1 :(得分:1)

您可以使用lastIndexOf()代替indexOf()

有关MDN

的详情

答案 2 :(得分:1)

尝试这段代码,它应该可以工作。

var yourString = "354-567-3425 | John Doe";
var index = yourString.indexOf("|");
var lengthYouWant = yourString.slice(index + 1).length;

答案 3 :(得分:0)

如果您的值始终只有一个|分隔符,那么您可以在|之后找到以下字符的总字符数:

'354-567-3425 | John Doe'.split('|')[1].length

如果|的数量不规则,可采用另一种方法:

var data = '354-567-3425 | John Doe | 666 Elm Street';
var lastIndexPos = data.lastIndexOf('|');
console.log(data.substr(lastIndexPos + 1).length);

答案 4 :(得分:0)

试试这个:

var str = "354-567-3425 | John Doe";
var charsAfter = str.length - str.indexOf("|") - 1;

- 1将移过|个字符。

答案 5 :(得分:0)

我使用以下内容:

 var myString= '354-567-3425 | John Doe';
 myString.substr(myString.indexOf('|') + 1)