js统计字符串出现次数
时间: 2023-07-01 10:06:12 浏览: 61
可以使用 JavaScript 中的正则表达式和字符串方法来统计字符串中某个子串出现的次数。以下是一个例子:
```javascript
const str = 'hello world, hello js';
const searchStr = 'hello';
const regex = new RegExp(searchStr, 'g');
const count = (str.match(regex) || []).length;
console.log(count); // 输出 2
```
这里使用了 `RegExp` 构造函数创建了一个全局匹配模式的正则表达式,并使用 `match` 方法和空数组进行了容错处理,最终输出了子串出现的次数。
相关问题
js统计字符串出现次数 不用正则
可以使用循环遍历字符串的方式来统计字符串出现的次数,具体实现如下:
```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统计字符串出现次数
以下是一个基于双循环的 JavaScript 函数,用于统计一个字符串在另一个字符串中出现的次数:
```
function countOccurrences(str, substr) {
var count = 0;
for (var i = 0; i < str.length; i++) {
for (var j = 0; j < substr.length && i+j < str.length; j++) {
if (str[i+j] !== substr[j]) {
break;
}
if (j === substr.length-1) {
count++;
}
}
}
return count;
}
```
函数接受两个参数,`str` 是需要进行统计的完整字符串,`substr` 是需要计数的子字符串。函数遍历完整字符串的每个字符,并且对于每个字符,它将与子字符串中的每个字符进行比较。如果字符不匹配,循环会中断,否则如果达到子字符串的末尾,计数器就会增加一次。函数最后返回计数器的值。
例如,`countOccurrences('hello world', 'l')` 将返回 `3`,因为字母 `l` 在字符串 `'hello world'` 中出现了三次。
阅读全文