用原生JS实现查找第n次出现的子字符串
2016-04-08 10:37
211 查看
用到的函数为
先来简要介绍一下
stringObject.indexOf(searchvalue,fromindex)
主要可分为以下两点理解
是一个字符串对象的方法
有两个参数
searchvalue为必需的参数,规定你想要查找的子字符串
fromindex为非必需参数,规定你在字符串对象中查找子字符串的
起始位置,并包含当前位置,若省略则从字符串起始位置开始,即0。
返回某个指定的子字符串值在字符串中首次出现的位置。
如想要查找helloworld中的’o’字符串,就可以这么写
那么如果想要查找第二次出现的o的位置呢,这时就需要使用第二个参数
封装如下:
三个参数分别为字符串,子字符串以及第几次出现,主要思想就是:把查找的开始位置在前面查找到的子字符串的位置的基础上一步一步向后挪。
调用举例:
ps:感觉用递归性能会更好,递归还没弄太懂,有童鞋可以写出来的话烦请赐教~
indexOf;
先来简要介绍一下
indexOf;,语法
stringObject.indexOf(searchvalue,fromindex)
主要可分为以下两点理解
是一个字符串对象的方法
有两个参数
searchvalue为必需的参数,规定你想要查找的子字符串
fromindex为非必需参数,规定你在字符串对象中查找子字符串的
起始位置,并包含当前位置,若省略则从字符串起始位置开始,即0。
返回某个指定的子字符串值在字符串中首次出现的位置。
如想要查找helloworld中的’o’字符串,就可以这么写
var str='helloworld'; var num=str.indexOf('o');//返回4
那么如果想要查找第二次出现的o的位置呢,这时就需要使用第二个参数
封装如下:
function find(str,cha,num){ var x=str.indexOf(cha); for(var i=0;i<num;i++){ x=mystr.indexOf(cha,x+1); } return x; }
三个参数分别为字符串,子字符串以及第几次出现,主要思想就是:把查找的开始位置在前面查找到的子字符串的位置的基础上一步一步向后挪。
调用举例:
var mystr="Hello World!" document.write(find(mystr,'o',2));//返回7
ps:感觉用递归性能会更好,递归还没弄太懂,有童鞋可以写出来的话烦请赐教~
相关文章推荐
- JS跨Frame选择元素的几种方式
- 使用dom与js函数在当前页展示用户想要查看的图片
- javascript数组的属性、方法和清空-最全!!!(必看)
- jsp页面使用el按key获取map中的对应值
- json 点滴
- JS中函数参数的传递
- json
- JS在页面Frame和子Frame之间的调用
- json2xlsx AND xlsx2json 接口
- js动态生成css代码
- JSP中四种传递参数中文乱码问题
- Js的引用关系示例和总结
- 超简单的js题 学习笔记
- JS 重新加载当前页面或者父页面
- JS----简单表单密码强度检验
- JSTL标签库简介
- ExtJS实现Excel导出
- 模块化JavaScript设计模式(一)
- js 截取字符串
- JSON资料整理(转)