永发信息网

如何在一个字符串中依次查找每一个匹配子字符串位置

答案:1  悬赏:60  手机版
解决时间 2021-04-04 19:13
如何在一个字符串中依次查找每一个匹配子字符串位置
最佳答案
通过循环调用indexOf()或lastIndexOf()来找到所有匹配的子字符串。<br>上面两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到子字符串,则返回-1)。这两个方法的区别在于:indexOf()方法从字符串的开头向后搜索子字符串,而lastIndexOf()方法是从字符串的末尾向前搜索子字符串。<br>这两个方法都可以接收可选的第二个参数,表示从字符串中的那个位置开始搜索。换句话说,indexOf()会从该参数指定的位置向后搜索,忽略该位置之前的所有字符;lastIndexOf()类似。<br><br>var str = &quot;I think of other ages that floated upon the stream of life and love and death&quot;;<br>var positions = new Array();<br>function searchSubStr(str,subStr){<br>var pos = str.indexOf(subStr);<br>while(pos&gt;-1){<br>positions.push(pos);<br>pos = str.indexOf(subStr,pos+1);<br>}<br>}<br>searchSubStr(str,&quot;o&quot;);<br>alert(positions);//8,11,29,37,51,64<br><br>这个例子通过不断增加indexOf()方法开始查找的位置,遍历了一个长字符串。在循环之外,首先找到了”o”在字符串中的初始位置;而进入循环后,则每次都给indexOf()传递上一次的位置加1。这样就确保了每次新搜索都从上一次找到的子字符串的后面开始。每次搜索返回的位置被保存在数组positions中,以便将来使用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列化学现象的描述,错误的是A.氢氧化钠固体
童话里不是骗人的是华晨宇吗 揭秘蒙面唱将小
口袋妖怪叶绿386作弊码网上很多都不对用不了
八连杀里“三条腿的男人”是什么意思。
讨债公司怎么收钱的,网贷欠钱
网商银行怎么跨行转账,网商银行如何转帐他人
淘宝上面的基金购买手续费是怎么算的,要准确
for作因为讲的时候 可以和so连用吗?
---Listen ! Helen is singing in the classr
客所思官网,我声卡没有声音了
5月份白洋淀的芦苇打药吗?
什么是农补
我妈妈48岁了,皮肤松弛,肤色较黄,请问什么
滑板能当代步工具吗
6.6KV,600KW的变频器大约多少钱,6.6KV,600KW
推荐资讯
虐和略的 拼音打字法?
南方男人好还是北方男人好?
为什么小狗狗吃猪肝过一会就全都吐出来了,刚
急求12篇200字以内的日记
该图中哪条是圆台母线
欧姆到K是怎么换算的?
Lpl职业选手打排位直播用什么软件能看到
电脑压缩包文件被加密后,密码忘记了怎么解锁
”在下面题目中任选一个作文。(1)阅读下面
怎样用自己的手机查号码 我的是vivo手机
尧化门政务中心上班时间
南方有什么小吃?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?