查找某个字符在字符串中出现的次数

方法一:利用正则的match方法

var str="heleleoworled";
var count=(str.match(/le/g)||[]).length;
console.log(count);

方法二:先把要找的字符替换为空,然后用前一个字符串的长度减去后一个字符串的长度,除以要查找的字符串的长度。

 var str1="heleleoworled";  
 var target="le"
 var str2=str1.replaceAll(target,"");
 var count=(str1.length-str2.length)/target.length;
 console.log(count);

方法三

  • 核心算法:先查找第一个字符出现的位置
  • 然后只要indexOf返回的结果不是 -1 就继续往后查找
  • 因为indexOf只能查找到第一个,所以后面的查找,一定是当前索引加1,从而继续向下查找
function find(str, o) {
  let subscript = str.indexOf(o),
   i = 0;//定义一个计数器
   while (subscript !== -1) {
     console.log('str中' + o + '出现的位置有:' + subscript);
      i++;
      subscript = str.indexOf(o, subscript + 1);// `indexOf`只能查找到第一个,所以后面的查找,一定是当前索引加1,从而继续向下查找
  }
  console.log('出现的次数为:' + i);
}

find('heleleoworled', 'le');

 

posted @ 2023-05-26 14:16  芬-mi  阅读(364)  评论(0编辑  收藏  举报