求大佬指点

来源:7-8 返回指定的字符串首次出现的位置

精慕门9368491

2019-01-25 17:54

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

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

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

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

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

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

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

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


写回答 关注

2回答

  • 蝉时雨丶0909
    2019-02-14 17:08:28

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

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


  • 慕桂英7306968
    2019-01-26 21:06:20

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

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

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

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

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题