当前位置:首页 >> 网络编程

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

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

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

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

strObj.charAt(index)

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

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

stringObject.indexOf(searchvalue,fromindex)

例如:

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

正题

获取一个字符串值在指定字符串第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));