为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点

就是,能不能做出这样一个东西,一共有三个输入框,如下所示:

请输入待检索的字符串:___________      //这里是第一个输入框

请输入您所要检索的字符:___________   //这里是第二个输入框

请问您要检索该字符第_______次出现的位置  //这里是第三个输入框

结果:_____  //这里出现结果

虽然我也不知道这个东西有啥用,但是我突发奇想。。然后困扰了自己半天--  我也很无奈

然后我想要的也不是只可以检索几次就可以了  我想要的是能检索n个长度的字符串里的一个字符的第n个位置

希望有路过的大佬能指点迷津--  在下先行谢过了!


正在回答

2 回答

<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>

希望我的回答对你有所帮助。


0 回复 有任何疑惑可以回复我~

如果不考虑重叠子串的话比如说 原字符串是     AAAA

你要检索 AA 你可以说它出现了2次(不考虑重叠的)也可以说他出现了 3次

这种情况只要把原字符串按照子串 split一下 string.split(substring, n) 然后再按substring join一下取length就行了。

如果考虑重叠情况的话 就两个for loop 对每个下标都看一下是否match substring 用一个 counter计数器看看什么时候到n

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

求大佬指点

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信