方法一:利用正则的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');
标签:字符,console,indexOf,var,查找,str,字符串,subscript From: https://www.cnblogs.com/zhaofen/p/17434610.html