js统计字符串出现次数 不用正则
时间: 2023-07-01 15:06:13 浏览: 85
可以使用循环遍历字符串的方式来统计字符串出现的次数,具体实现如下:
```javascript
function countOccurrences(str, substr) {
let count = 0;
for (let i = 0; i < str.length; i++) {
if (str.slice(i, i + substr.length) === substr) {
count++;
}
}
return count;
}
// 示例
const str = 'ababababa';
const substr = 'aba';
console.log(countOccurrences(str, substr)); // 输出 3
```
在循环中,我们使用 `slice()` 方法获取从当前位置开始的与目标字符串长度相等的子串,并将其与目标字符串进行比较。如果相等,则将计数器加一。最后返回计数器的值即可。
相关问题
js统计字符串出现次数
可以使用正则表达式和match()函数来实现统计字符串出现次数。
假设字符串为str,要统计的子字符串为subStr,可以使用以下代码:
```
var count = (str.match(new RegExp(subStr, "g")) || []).length;
```
这里用到了正则表达式,new RegExp(subStr, "g") 表示创建一个全局匹配子字符串的正则表达式,再使用match()函数返回一个数组,数组中包含所有匹配的字符串,统计其长度即可得到出现次数。
如果要忽略大小写,可以在正则表达式中加入"i"标志,如下所示:
```
var count = (str.match(new RegExp(subStr, "gi")) || []).length;
```
js 统计一个字符串里面出现次数
你可以使用 JavaScript 的正则表达式和字符串方法来统计一个字符串中某个子字符串出现的次数。以下是一个示例代码:
```javascript
function countOccurrences(string, subString) {
// 使用正则表达式创建匹配子字符串的模式
const pattern = new RegExp(subString, 'g');
// 使用 match 方法获取匹配结果数组
const matches = string.match(pattern);
// 返回匹配结果数组的长度,即出现次数
return matches ? matches.length : 0;
}
// 示例用法
const string = 'Hello, hello, hello!';
const subString = 'hello';
const occurrences = countOccurrences(string, subString);
console.log(`'${subString}' 出现了 ${occurrences} 次。`);
```
在上述示例中,`countOccurrences` 函数接受两个参数:`string` 表示待统计的字符串,`subString` 表示要统计出现次数的子字符串。函数内部通过创建正则表达式模式来匹配子字符串,并使用 `match` 方法来获取匹配结果数组。最后返回匹配结果数组的长度,即为子字符串出现的次数。
阅读全文