精慕门9368491
2019-01-25 17:54
就是,能不能做出这样一个东西,一共有三个输入框,如下所示:
请输入待检索的字符串:___________ //这里是第一个输入框
请输入您所要检索的字符:___________ //这里是第二个输入框
请问您要检索该字符第_______次出现的位置 //这里是第三个输入框
结果:_____ //这里出现结果
虽然我也不知道这个东西有啥用,但是我突发奇想。。然后困扰了自己半天-- 我也很无奈
然后我想要的也不是只可以检索几次就可以了 我想要的是能检索n个长度的字符串里的一个字符的第n个位置
希望有路过的大佬能指点迷津-- 在下先行谢过了!
<script type="text/javascript">
var mystr="Hello Worlld!" //测试用例
function writeNth(str,substr,n){ //通过for循环循环n次找到字符串str中子串substr第n次出现的位置Pos
var startPos=0;
for(var i=0;i<n;i++){
var pos = str.indexOf(substr, startPos);
startPos = pos + 1;
}
return pos;
}
document.write(writeNth(mystr,"ll",2)); //测试
</script>
希望我的回答对你有所帮助。
如果不考虑重叠子串的话比如说 原字符串是 AAAA
你要检索 AA 你可以说它出现了2次(不考虑重叠的)也可以说他出现了 3次
这种情况只要把原字符串按照子串 split一下 string.split(substring, n) 然后再按substring join一下取length就行了。
如果考虑重叠情况的话 就两个for loop 对每个下标都看一下是否match substring 用一个 counter计数器看看什么时候到n
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题