在字符串中查找指定字符的位置

本文介绍两种使用JavaScript在字符串中查找特定子串位置的方法:一种利用indexOf和replace循环定位;另一种通过split和for循环计算索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目: 查找
http://write.blog.youkuaiyun.com/postedit,http://blog.youkuaiyun.com/ta_men/article/details/62042213‘字符串中’blog.youkuaiyun.com’在字符串中出现的位置,并显示到屏幕.

方法一 :

思路:

将’blog.youkuaiyun.com’作为match内容放在while循环的条件中,使用indexOf方法获得索引值,然后将’blog.youkuaiyun.com’替换为同等字符长度的字符,使indexOf方法往下走.

JS代码如下:

<script type="text/javascript">
            var str = 'http://write.blog.youkuaiyun.com/postedit,http://blog.youkuaiyun.com/ta_men/article/details/62042213';
            var show = [];      //声明存放索引值的数组
            while(str.match('blog.youkuaiyun.com')){  //判断是否包含查询字符串,true则进入循环
                var index =str.indexOf('blog.youkuaiyun.com');    //将查询字符串出现的位置赋值给index
                show.push(index);       //将index放入show数组
                str = str.replace('blog.youkuaiyun.com','-------------');     //将原查询字符替换,以便indexOf方法能往下继续查找
            }
            document.write(show);

</script>


方法二 :

思路 :

将’blog.youkuaiyun.com’作为split参数切割,得到不含’blog.youkuaiyun.com’的数组,再次切割数组中的每个元素,由于数组长度是一定的,因此用for循环进行数组长度的累加,得到查询字符串所在原字符的索引.

JS代码如下:

<script type="text/javascript">
        var str = 'http://write.blog.youkuaiyun.com/postedit,http://blog.youkuaiyun.com/ta_men/article/details/62042213';
        var select = 'blog.youkuaiyun.com'  //将查询字符串赋值给变量
        var re = str.split(select);   //切割字符串
        var sum = 0;       //声明累计变量
        var arr = [];      //声明存放索引的数组
        for (var i=0;i<re.length-1;i++) {  //循环次数为数组长度-1
            sum = sum + re[i].split('').length;  //得到
            arr[i]=sum;      //存入数组
            sum = sum +select.length;  //切割后的字符长度少了select的长度,除了第一次不加和最后一次不加,后面都得加上
        }
        document.write(arr);
</script>

若有错漏,欢迎建议和指正.
如果您有更好的方式,期待与您的交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值