首页 > 技术文章 > js获取一个字符串中指定字符串第n次出现的位置

jingmin 2017-03-09 23:43 原文

1.JS获取一个字符串中指定字符串第n次出现的位置

 

  了解类似的获取字符位置的方法:

  1.1 charAt() 获取字符串指定位置的字符

  用法:strObj是字符串对象,index是指定的位置,(位置从0开始数)

 

strObj.charAt(index)

 

  

  1.2 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置

  用法:stringObject是字符串对象,searchvalue是指定的字符串值,fromindex(可有可无)指定开始匹配字符串值的位置,若无,表示从0位置开始。

 

 

stringObject.indexOf(searchvalue,fromindex)

 

 

  例:

 

var str='helloworld';
var num=str.indexOf('o');//返回4

 

 

 

2.正题

获取一个字符串值在指定字符串第n次出现的位置

  就像上面的例子,helloword,我想获取第二个o出现的位置

  js代码:参数(字符串,要查找的字符串值,要查找第几个该字符串值

  function find(str,cha,num){
    var x=str.indexOf(cha);
    for(var i=0;i<num;i++){
        x=str.indexOf(cha,x+1);
    }
    return x;
    }

  引用该方法:

 

ar str="Hello World!"
document.write(find(str,'o',1));//返回7

 

 

基本的用法就是这样了,对于一个字符串中相同字符多的字符串,只需要把相应的2换成你想要查找的n值就可以了

 

例如:获取当前页面url中的第n个‘/’出现的位置

直接调用上面的方法

ar str=document.URL;//获取当前页面的完整路径信息
document.write(find(str,'/',n));

 

获取页面路径的方法,参考我的下一篇文章:

 

推荐阅读